perm filename DIAL78.XGP[DIA,JMC]2 blob
sn#416199 filedate 1979-02-02 generic text, type T, neo UTF8
/LMAR=0/XLINE=3/FONT#0=BASL30/FONT#1=BASI30/FONT#2=BASB30/FONT#3=GACB25/FONT#4=SUP/FONT#5=NGR20/FONT#6=METLB/FONT#7=MS25/FONT#8=SAIL25/FONT#9=SIGN57/FONT#10=FIX25
␈↓ ↓N␈↓ ␈↓ ¬,DIALNET
␈↓ ↓N␈↓ ␈↓ ∧.␈↓εA Computer Communication Study
␈↓ ↓N␈↓ε␈↓ ¬K␈↓αproposal submitted to
␈↓ ↓N␈↓ε␈↓ ∧eNational Science Foundation
␈↓ ↓N␈↓α␈↓ ¬>Washington, D.C. 20550
␈↓ ↓N␈↓α␈↓ εMby
␈↓ ↓N␈↓α␈↓ ¬∂Computer Science Department
␈↓ ↓N␈↓α␈↓ ¬,␈↓εStanford University
␈↓ ↓N␈↓ε␈↓ ¬+␈↓αStanford, California 94305
␈↓ ↓N␈↓α␈↓ ¬l␈↓εAugust 1978
␈↓ ↓N␈↓α␈↓ β&Research Proposal Submitted to the National Science Foundation
␈↓ ↓N␈↓Proposed Amount ␈↓&␈↓λ$136,055␈↓␈↓)αβ Proposed E≥ective Date ␈↓&␈↓λ1 Jan. 1979␈↓␈↓)αβ Proposed Duration ␈↓&␈↓λ2 years␈↓␈↓)αβ
␈↓ ↓N␈↓Title ␈↓&␈↓λDialnet: a Computer Communication Study␈↓␈↓)αβ
␈↓ ↓N␈↓Principal Investigator:␈↓ ¬nSubmitting Institution:
␈↓ ↓N␈↓ ␈↓&␈↓λProfessor John McCarthy␈↓␈↓)αβ␈↓ ¬n ␈↓&␈↓λStanford University␈↓␈↓)αβ
␈↓ ↓N␈↓ Soc. Sec. No. ␈↓&␈↓λ558-30-4793␈↓␈↓)αβ␈↓ ¬n Department ␈↓&␈↓λComputer Science Department␈↓␈↓)αβ
␈↓ ↓N␈↓␈↓ ¬n Branch ␈↓&␈↓λSchool of Humanities and Sciences␈↓␈↓)αβ
␈↓ ↓N␈↓Make grant to ␈↓&␈↓λ Leland Stanford Junior University ␈↓␈↓)αβ
␈↓ ↓N␈↓Endorsements:
␈↓ ↓N␈↓␈↓ α↑Principal Investigator␈↓ ¬nDepartment Head␈↓ λ}Institutional Admin. O≠cial
␈↓ ↓N␈↓Name␈↓ α↑␈↓&␈↓λJohn McCarthy ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λEdward A. Feigenbaum ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ ␈↓␈↓)αβ
␈↓ ↓N␈↓Signature␈↓ α↑␈↓&␈↓λ ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λ ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ ␈↓␈↓)αβ
␈↓ ↓N␈↓Title␈↓ α↑␈↓&␈↓λ Professor ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λProfessor & Chairman ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ ␈↓␈↓)αβ
␈↓ ↓N␈↓Telephone␈↓ α↑␈↓&␈↓λ(415) 497-4430 ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λ(415) 497-4878 ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ ␈↓␈↓)αβ
␈↓ ↓N␈↓Date␈↓ α↑␈↓&␈↓λ ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λ ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ ␈↓␈↓)αβ
␈↓ ↓N␈↓α␈↓ ¬8TABLE OF CONTENTS␈↓ n
␈↓ ↓N␈↓α␈↓ α∞Section␈↓ ¬mPage
␈↓ ↓N␈↓1. Current Proposal␈↓ ε 1
␈↓ ↓N␈↓␈↓ β1␈↓αAppendices␈↓
␈↓ ↓N␈↓A. Original Dialnet Proposal␈↓ ε 2
␈↓ ↓N␈↓B. Basic line protocol␈↓ ε 6
␈↓ ↓N␈↓C. File transfer protocol␈↓ ¬| 12
␈↓ ↓N␈↓D. Mail protocol␈↓ ¬| 20
␈↓ ↓N␈↓E. Personnel␈↓ ¬| 24
␈↓ ↓N␈↓F. Facilities␈↓ ¬| 26
␈↓ ↓N␈↓G. Current Support␈↓ ¬| 27
␈↓ ↓N␈↓H. Budget␈↓ ¬| 29
␈↓ ↓N␈↓α␈↓ ε↑␈↓ b1
␈↓ ↓N␈↓α␈↓ αw1. Current Proposal ␈↓ π∞␈↓several␈α⊂times␈α∂in␈α⊂the␈α∂light␈α⊂of␈α⊂that␈α∂experience.
␈↓ π∞␈↓Work␈α∃has␈α∃started␈α∃on␈α∃the␈α∃line␈α∀transmission
␈↓ ↓N␈↓The␈α
aim␈αof␈α
the␈αproject␈α
is␈αthe␈α
same␈αas␈α
that␈αof ␈↓ π∞␈↓protocol␈α∨at␈α∨LOTS.␈α∨ We␈α∨hope␈α∨to␈α≡have
␈↓ ↓N␈↓our␈α∃previous␈α∃proposal␈α∃a␈α∃copy␈α∃of␈α∃which␈α∀is ␈↓ π∞␈↓experimental␈α$mail␈α#and␈α$virtual␈α#terminal
␈↓ ↓N␈↓included␈α∂as␈α∂appendix␈α∞A.␈α∂ We␈α∂have␈α∞generally ␈↓ π∞␈↓protocols␈α∂running␈α∂and␈α∂available␈α∂for␈α⊂users␈α∂by
␈↓ ↓N␈↓followed␈α∞the␈α∂approach␈α∞laid␈α∞out␈α∂there,␈α∞though ␈↓ π∞␈↓the end of the summer.
␈↓ ↓N␈↓speci≡c␈α↔plans␈α↔have␈α⊗been␈α↔altered␈α↔based␈α⊗on
␈↓ ↓N␈↓experience. ␈↓ π∞␈↓The␈α∀biggest␈α∀problem␈α∀encountered␈α∀so␈α∀far␈α∀is
␈↓ π∞␈↓that␈α∃some␈α⊗operating␈α∃systems␈α∃are␈α⊗unable␈α∃to
␈↓ ↓N␈↓Up␈α∃to␈α∃July␈α∃1978,␈α∀one␈α∃year␈α∃into␈α∃the␈α∀grant ␈↓ π∞␈↓sustain␈α≥the␈α≥1200␈α≥baud␈α≥transmission␈α≤rate
␈↓ ↓N␈↓period, the following had been accomplished:␈↓ π∞␈↓without␈α∪bu≥er␈α∪ over∨ow.␈α∪ Other␈α∀systems␈α∪do
␈↓ π∞␈↓not␈α
have␈αthis␈α
problem,␈α
but␈αare␈α
too␈α"helpful"␈α
in
␈↓ ↓N␈↓1.␈α_We␈α_have␈α↔conferred␈α_with␈α_the␈α↔following ␈↓ π∞␈↓that␈α∀they␈α∪insert␈α∀spurious␈α∪bytes␈α∀in␈α∀the␈α∪data
␈↓ ↓N␈↓individuals␈α∩and␈α∩groups␈α∩on␈α∩our␈α∪plans␈α∩about ␈↓ π∞␈↓stream␈α≤to␈α≤warn␈α≤about␈α≤a␈α≥possible␈α≤bu≥er
␈↓ ↓N␈↓the form the protocols should take: ␈↓ π∞␈↓over∨ow␈α∂and␈α∂in␈α∂the␈α∂process␈α∂confuse␈α∂any␈α∂line
␈↓ ↓N␈↓␈↓ ↓nVint Cerf, Defense Advanced Research ␈↓ π∞␈↓protocol␈α⊗negotiations␈α⊗going␈α⊗on.␈α⊗ Of␈α∃course,
␈↓ ↓N␈↓␈↓ β∞Projects Agency ␈↓ π∞␈↓Dialnet␈α
recovers␈α
from␈α
this␈α∞condition␈α
properly,
␈↓ ↓N␈↓␈↓ ↓nSandy Fraser, et al, Bell Telephone ␈↓ π∞␈↓but␈α∪not␈α∀without␈α∪data␈α∪bandwidth␈α∀being␈α∪lost
␈↓ ↓N␈↓␈↓ β∞Laboratories ␈↓ π∞␈↓unnecessarily.
␈↓ ↓N␈↓␈↓ ↓nChris Ryland, Columbia University
␈↓ ↓N␈↓␈↓ ↓nStu Wecker, et al, Digital Equipment ␈↓ π∞␈↓There␈α∃are␈α∃at␈α∃least␈α∃two␈α∃ways␈α∃around␈α∀these
␈↓ ↓N␈↓␈↓ β∞Corporation ␈↓ π∞␈↓problems:␈α∂to␈α∂modify␈α∂the␈α∂operating␈α∂systems␈α∞or
␈↓ ↓N␈↓␈↓ ↓nMichael Blasgen, IBM ␈↓ π∞␈↓to␈α⊂develop␈α⊃a␈α⊂microprocessor␈α⊂front␈α⊃end.␈α⊂ The
␈↓ ↓N␈↓␈↓ ↓nDavid Moon, Ken Pogran, MIT ␈↓ π∞␈↓latter␈α
is␈α
somewhat␈αmore␈α
general␈α
and␈αalso␈α
o≥ers
␈↓ ↓N␈↓␈↓ ↓nGlenn Richart, National Institutes of Health␈↓ π∞␈↓the␈αpossibility␈αof␈α
putting␈αmost␈αof␈αthe␈α
overhead
␈↓ ↓N␈↓␈↓ ↓nGeo≥ Goodfellow, SRI International ␈↓ π∞␈↓of␈αthe␈αline␈αprotocol␈αin␈αthe␈αfront␈αend.␈α
Most␈αof
␈↓ π∞␈↓our␈α→early␈α→work␈α→has␈α→been␈α→on␈α→the␈α→former
␈↓ ↓N␈↓We␈α→believe␈α→we␈α→can␈α→satisfy␈α→all␈α_reasonable ␈↓ π∞␈↓approach,␈α∂but␈α∂in␈α∂the␈α∞next␈α∂period␈α∂we␈α∂plan␈α∞to
␈↓ ↓N␈↓requirements if not all reasonable tastes. ␈↓ π∞␈↓pursue␈α∞the␈α∞latter.␈α∞ Toward␈α∞this␈α∞end,␈α∂we␈α∞have
␈↓ π∞␈↓included␈α≡in␈α≡the␈α≥budget␈α≡funds␈α≡for␈α≥four
␈↓ ↓N␈↓2.␈α
The␈α
following␈αprotocols␈α
exist␈α
in␈α
draft␈αform ␈↓ π∞␈↓microprocessor controlled modems.
␈↓ ↓N␈↓and␈α∞are␈α∂included␈α∞as␈α∞appendices␈α∂B␈α∞thru␈α∂D␈α∞of
␈↓ ↓N␈↓this proposal: ␈↓ π∞␈↓In␈α∀the␈α∀period␈α∀of␈α∀this␈α∀proposal␈α∀we␈α∀plan␈α∪to
␈↓ ↓N␈↓ B. Basic line protocol ␈↓ π∞␈↓re≡ne␈α∃and␈α∃extend␈α∃the␈α∃basic␈α∀communication
␈↓ ↓N␈↓ C. File transfer protocol ␈↓ π∞␈↓protocols␈α
and␈α
invite␈α
a␈αnumber␈α
of␈α
new␈α
sites␈αto
␈↓ ↓N␈↓ D. Mail protocol (preliminary) ␈↓ π∞␈↓join␈α1in␈α1experimental␈α1implementations.
␈↓ ↓N␈↓A␈α*virtual␈α*terminal␈α*protocol␈α+will␈α*be ␈↓ π∞␈↓Assuming␈α/general␈α.acceptance␈α/of␈α.the
␈↓ ↓N␈↓forthcoming shortly. ␈↓ π∞␈↓experimental␈α∪network,␈α∪we␈α∪shall␈α∪endeavor␈α∪to
␈↓ π∞␈↓get␈α≤the␈α≤protocols␈α≤adopted␈α≤as␈α≤a␈α≤national
␈↓ ↓N␈↓3.␈α∂Modems␈α∞have␈α∂been␈α∞acquired␈α∂and␈α∞installed ␈↓ π∞␈↓standard.
␈↓ ↓N␈↓at␈α+the␈α+Stanford␈α,Arti≡cial␈α+Intelligence
␈↓ ↓N␈↓Laboratory␈α#and␈α"at␈α#the␈α#Stanford␈α"Low-
␈↓ ↓N␈↓Overhead␈α↔Time-sharing␈α↔System.␈α↔ We␈α⊗have
␈↓ ↓N␈↓chosen␈α∞the␈α
Bell␈α∞System␈α
1200-1200␈α∞full␈α
duplex
␈↓ ↓N␈↓protocol␈α
for␈α
the␈α
modems␈α
and␈α∞have␈α
purchased
␈↓ ↓N␈↓Vadic modems meeting this standard.
␈↓ ↓N␈↓4.␈α∞The␈α∞basic␈α∞line␈α∞transmission␈α∂protocols␈α∞have
␈↓ ↓N␈↓been␈α≥programmed␈α≡at␈α≥SAIL␈α≡and␈α≥revised
␈↓ ↓N␈↓α␈↓ ε↑␈↓ `2
␈↓ ↓N␈↓α␈↓ β+Appendix A ␈↓ π∞␈↓telephone␈α∀companies.␈α∀ Other␈α∃networks␈α∀have
␈↓ ↓N␈↓α␈↓ αOOriginal Dialnet Proposal ␈↓ π∞␈↓been␈α⊃started,␈α∩but␈α⊃they␈α∩all␈α⊃have␈α∩problems␈α⊃of
␈↓ π∞␈↓expense␈αand␈α
␈↓↓also␈αof␈αdeciding␈α
who␈αshould␈α
be␈αon
␈↓ π∞␈↓↓them␈↓.␈α
Some␈α
facilities␈α
have␈α
gone␈α
to␈α
the␈α
expense
␈↓ ↓N␈↓α␈↓ β51. Purpose ␈↓ π∞␈↓of joining more than one network.
␈↓ ↓N␈↓This␈α⊂is␈α⊂a␈α⊂request␈α⊂for␈α⊂a␈α⊂grant␈α⊂to␈α⊃support␈α⊂an ␈↓ π∞␈↓ We␈αpropose␈αto␈αdesign␈αprotocols␈αthat␈αcan
␈↓ ↓N␈↓eighteen␈α"month␈α!study␈α"and␈α!experimental ␈↓ π∞␈↓be␈α∂implemented␈α∂at␈α∂any␈α∂time-shared␈α∂computer
␈↓ ↓N␈↓implementation␈αof␈αprotocols␈αthat␈αwould␈αpermit ␈↓ π∞␈↓installation␈α$without␈α$joining␈α$any␈α$formal
␈↓ ↓N␈↓ARPAnet-like␈α
facilities␈α
to␈α
be␈α
provided␈α
to␈αany ␈↓ π∞␈↓network.␈α∃ The␈α∃hardware␈α∃cost␈α∃will␈α⊗be␈α∃from
␈↓ ↓N␈↓time-sharing␈α?␈ααcomputer␈α?␈ααsystem␈α?␈ααthat ␈↓ π∞␈↓$1000␈α
to␈α
$5000␈α
depending␈α
on␈α
how␈α
di≠cult␈α
it␈α
is
␈↓ ↓N␈↓implemented␈α∪them␈α∩and␈α∪equipped␈α∪itself␈α∩with ␈↓ π∞␈↓to␈α
connect␈αdevices␈α
to␈αthe␈α
computer.␈α There␈α
will
␈↓ ↓N␈↓telephone␈α→dialing␈α→equipment␈α→and␈α→modems. ␈↓ π∞␈↓be␈α∃programs␈α∃to␈α∃operate␈α∃a␈α⊗telephone␈α∃dialer
␈↓ ↓N␈↓We␈α∩call␈α∩the␈α∩system␈α∩Dialnet␈α∩by␈α∩analogy,␈α∩but ␈↓ π∞␈↓(rented␈α⊂from␈α⊂the␈α⊂telephone␈α⊂company)␈α⊃and␈α⊂to
␈↓ ↓N␈↓unlike␈α(the␈α(ARPAnet,␈α(it␈α(requires␈α'no ␈↓ π∞␈↓transmit␈α
signals␈α
and␈α
information␈α∞according␈α
to
␈↓ ↓N␈↓administrator to "admit" new members. ␈↓ π∞␈↓the␈α⊃protocols.␈α⊂ Any␈α⊃installation␈α⊂implementing
␈↓ π∞␈↓the␈αprotocols␈αwill␈αbe␈αable␈αto␈αcommunicate␈αwith
␈↓ ↓N␈↓ The␈α2ARPAnet␈α2connects␈α2several ␈↓ π∞␈↓any␈α∂other.␈α∂ The␈α∂only␈α⊂disadvantage␈α∂compared
␈↓ ↓N␈↓hundred␈α⊂computer␈α⊂facilities␈α⊂and␈α⊃allows␈α⊂users ␈↓ π∞␈↓with␈α⊃the␈α⊃ARPAnet␈α⊂will␈α⊃be␈α⊃lower␈α⊃speed␈α⊂and
␈↓ ↓N␈↓of␈α⊗one␈α∃system␈α⊗to␈α⊗log␈α∃in␈α⊗on␈α⊗others,␈α∃allows ␈↓ π∞␈↓higher␈α⊂cost␈α⊂when␈α∂the␈α⊂volume␈α⊂of␈α∂information
␈↓ ↓N␈↓transmission␈α↔of␈α↔messages␈α↔between␈α_users␈α↔of ␈↓ π∞␈↓transferred is very high.
␈↓ ↓N␈↓di≥erent␈αcomputers,␈αand␈αallows␈αthe␈αtransfer␈αof
␈↓ ↓N␈↓≡les␈α∃between␈α∃computers.␈α∃ More␈α∃generally,␈α∀it ␈↓ π∞␈↓ Like␈α∃ARPAnet,␈α∃Dialnet␈α∃will␈α⊗be␈α∃most
␈↓ ↓N␈↓allows␈α
interaction␈αamong␈α
programs␈αin␈α
di≥erent ␈↓ π∞␈↓useful␈α∩to␈α∩␈↓↓full␈α∩time-sharing␈α∩systems␈↓.␈α∩ In␈α⊃such
␈↓ ↓N␈↓computers. ␈↓ π∞␈↓systems,␈α⊂each␈α∂user␈α⊂has␈α∂named␈α⊂disk␈α⊂≡les␈α∂than
␈↓ π∞␈↓are␈αkept␈αin␈αthe␈αsystem␈αeven␈αwhen␈αhe␈αis␈αabsent
␈↓ ↓N␈↓ These␈αfacilities␈αhave␈αproven␈αvaluable␈α
in ␈↓ π∞␈↓(and␈α∩therefore␈α∩remotely␈α∩accessible),␈α∩and␈α∩new
␈↓ ↓N␈↓permitting␈α≤collaboration␈α≥between␈α≤computer ␈↓ π∞␈↓≡les␈α
can␈αbe␈α
created␈αby␈α
≡le␈αtransfer␈α
from␈αother
␈↓ ↓N␈↓scientists␈α⊃at␈α⊃di≥erent␈α⊃sites␈α⊃and␈α∩in␈α⊃permitting ␈↓ π∞␈↓machines␈α∪and␈α∪on␈α∪receipt␈α∪of␈α∪messages.␈α∪ The
␈↓ ↓N␈↓nationwide␈α∂access␈α∂to␈α∞unique␈α∂facilities␈α∂such␈α∞as ␈↓ π∞␈↓usefulness␈α∩of␈α∪the␈α∩message␈α∪facilities␈α∩normally
␈↓ ↓N␈↓the␈α∩MACSYMA␈α∩system␈α∩for␈α∩computing␈α⊃with ␈↓ π∞␈↓requires␈α↔that␈α↔users␈α↔habitually␈α↔log␈α↔in␈α⊗each
␈↓ ↓N␈↓algebraic␈αand␈α
analytic␈αexpressions␈α
at␈αM.I.T.␈α
It ␈↓ π∞␈↓working␈α∀day␈α∀and␈α∀are␈α∀most␈α∃bene≡cial␈α∀when
␈↓ ↓N␈↓permits␈α⊂a␈α⊂new␈α∂form␈α⊂of␈α⊂publication␈α⊂in␈α∂which ␈↓ π∞␈↓users␈α⊗have␈α⊗individual␈α⊗display␈α↔terminals␈α⊗in
␈↓ ↓N␈↓documents␈α→are␈α_kept␈α→in␈α_the␈α→computer,␈α_are ␈↓ π∞␈↓their␈α⊗o≠ces.␈α⊗ Further␈α⊗bene≡ts␈α↔accrue␈α⊗when
␈↓ ↓N␈↓continuously␈α'updatable,␈α(are␈α'immediately ␈↓ π∞␈↓reports␈α⊗are␈α∃normally␈α⊗prepared␈α⊗at␈α∃terminals
␈↓ ↓N␈↓accessible␈α→throughout␈α→the␈α→country,␈α→and␈α→in ␈↓ π∞␈↓and␈α∂when␈α∂secretaries␈α∞use␈α∂terminals␈α∂for␈α∞letters
␈↓ ↓N␈↓which␈αcomments␈αfrom␈αreaders␈αare␈αaccessible␈α
to ␈↓ π∞␈↓and␈α∞messages.␈α∂ However,␈α∞many␈α∂less␈α∞advanced
␈↓ ↓N␈↓other readers. ␈↓ π∞␈↓installations␈α∞have␈α∞found␈α∞the␈α∞ARPAnet␈α
useful
␈↓ π∞␈↓and␈α∃more␈α∃and␈α∃more␈α∃systems␈α∃are␈α∃acquiring
␈↓ ↓N␈↓ The␈α∃usefulness␈α∃of␈α∃the␈α⊗ARPAnet␈α∃has ␈↓ π∞␈↓economical full time-sharing capability.
␈↓ ↓N␈↓prompted␈α∃many␈α∃non-defense␈α∃installations␈α∃to
␈↓ ↓N␈↓try␈αto␈αconnect␈αto␈αit,␈αand␈αin␈αsome␈αcases␈αthis␈αhas ␈↓ π∞␈↓ While␈α∂we␈α∂expect␈α∂that␈α∂the␈α∂≡rst␈α⊂users␈α∂of
␈↓ ↓N␈↓been␈α"possible,␈α"but␈α"in␈α"other␈α"cases␈α!the ␈↓ π∞␈↓Dialnet␈α∀will␈α∪be␈α∀regular␈α∪computer␈α∀users,␈α∪the
␈↓ ↓N␈↓institutional␈α
and␈α≡nancial␈α
obstacles␈α
have␈αbeen ␈↓ π∞␈↓corresponding␈α⊃ARPAnet␈α⊃facilities␈α⊃have␈α⊃been
␈↓ ↓N␈↓insuperable.␈α
The␈α
main␈α
≡nancial␈α
obstacles␈α
are ␈↓ π∞␈↓used␈α"by␈α!non␈α"computer␈α"people,␈α!Dialnet
␈↓ ↓N␈↓the␈α⊂need␈α∂for␈α⊂a␈α∂dedicated␈α⊂computer␈α⊂called␈α∂an ␈↓ π∞␈↓protocols␈α⊂will␈α∂not␈α⊂require␈α∂ability␈α⊂to␈α∂program,
␈↓ ↓N␈↓IMP␈α⊃costing␈α⊃about␈α⊃$80,000␈α⊃at␈α⊃each␈α⊃site␈α⊃and ␈↓ π∞␈↓and␈α∀we␈α∀expect␈α∪increasing␈α∀use␈α∀by␈α∀others␈α∪as
␈↓ ↓N␈↓the␈α∪need␈α∪for␈α∪dedicated␈α∪communication␈α∪lines ␈↓ π∞␈↓terminals become more widespread.
␈↓ ↓N␈↓rented␈α∃by␈α∀DoD␈α∃at␈α∀great␈α∃expense␈α∃from␈α∀the
␈↓ ↓N␈↓αOriginal Dialnet Proposal␈↓ ε(Purpose␈↓ `3
␈↓ ↓N␈↓ In␈α_order␈α→to␈α_make␈α_the␈α→picture␈α_more ␈↓ π∞␈↓He␈α⊗could␈α⊗then␈α⊗type␈α⊗"␈↓βlink␈↓"␈α⊗and␈α↔have␈α⊗his
␈↓ ↓N␈↓concrete,␈α∂here␈α∞is␈α∂a␈α∞scenario␈α∂of␈α∞the␈α∂use␈α∂of␈α∞the ␈↓ π∞␈↓keyboard␈α_and␈α_display␈α_e≥ectively␈α_linked␈α↔to
␈↓ ↓N␈↓system. ␈↓ π∞␈↓those of the caller, permitting a conversation.
␈↓ π∞␈↓Let␈α⊂us␈α⊂suppose,␈α⊂however,␈α⊂that␈α⊂DAVE␈α⊂is␈α⊂not
␈↓ ↓N␈↓α␈↓ β02. Scenario ␈↓ π∞␈↓logged␈α⊂in␈α∂and␈α⊂the␈α∂caller␈α⊂is␈α∂so␈α⊂informed.␈α∂ He
␈↓ π∞␈↓then types
␈↓ ↓N␈↓A user named Smith types on his terminal ␈↓ π∞␈↓β␈↓ π.locate dave@utex-chem3
␈↓ ↓N␈↓β␈↓ ↓nmail Organik ␈↓ π∞␈↓which␈α
obtains␈αthe␈α
following␈α
information␈αfrom
␈↓ ↓N␈↓β␈↓ ↓nDo you have any active work there on ␈↓ π∞␈↓the speci≡ed computer:
␈↓ ↓N␈↓β␈↓ ↓nhuman red cell carbonic anhydrase B? ␈↓ π∞␈↓β␈↓ π.David Piranha last logged out at
␈↓ π∞␈↓β␈↓ π.23:47 on 9 May 1976. Plan: I will
␈↓ ↓N␈↓The␈α_system␈α_looks␈α_up␈α_Organik␈α_in␈α↔Smith's ␈↓ π∞␈↓β␈↓ π.be out of touch May 10 through 16.
␈↓ ↓N␈↓correspondent␈α≠≡le␈α≤and␈α≠discovers␈α≤that␈α≠his ␈↓ π∞␈↓β␈↓ π.I plan to visit Martin Shumway at
␈↓ ↓N␈↓computer␈αpseudonym␈αis␈α"NAT"␈αat␈α
a␈αcomputer ␈↓ π∞␈↓β␈↓ π.the University of Utah on May 17 and
␈↓ ↓N␈↓called␈α∞UTEX-CHEM1␈α∞that␈α∞is␈α∞reached␈α∞at␈α
512 ␈↓ π∞␈↓β␈↓ π.should return by May 18. Will check
␈↓ ↓N␈↓471-3221␈α∀via␈α∀a␈α∀1200/150␈α∀baud␈α∀asychronous ␈↓ π∞␈↓β␈↓ π.mail from Utah.
␈↓ ↓N␈↓modem.␈α∀ It␈α∀selects␈α∀an␈α∀outgoing␈α∀line␈α∀with␈α∪a
␈↓ ↓N␈↓matching␈α≤modem,␈α≤dials␈α≤the␈α≥number␈α≤and ␈↓ π∞␈↓Noting␈α
that␈α
the␈α
current␈α
date␈α
is␈α
May␈α
14,␈αso␈α
that
␈↓ ↓N␈↓attempts␈α→to␈α→transmit␈α→the␈α→message.␈α~ If␈α→the ␈↓ π∞␈↓there␈α
is␈α
no␈α
point␈α
in␈α
getting␈α
the␈α
message␈α
there
␈↓ ↓N␈↓transmitting␈α
computer␈α
cannot␈α
elicit␈α
a␈αresponse ␈↓ π∞␈↓quickly, Smith types
␈↓ ↓N␈↓from␈αthe␈α
desired␈αrecipient,␈α
it␈αinforms␈α
the␈αuser ␈↓ π∞␈↓β␈↓ π.night mail dave@utex-chem3
␈↓ ↓N␈↓that␈α⊃it␈α∩will␈α⊃try␈α∩again␈α⊃later␈α∩and␈α⊃send␈α∩him␈α⊃a ␈↓ π∞␈↓β␈↓ π.I am interested in your work on
␈↓ ↓N␈↓message␈αwhen␈α
the␈αtransmission␈α
has␈αsucceeded. ␈↓ π∞␈↓β␈↓ π.anhydrase B. If possible, give
␈↓ ↓N␈↓If␈αthe␈αuser's␈αcorrespondent␈α≡le␈αdid␈αnot␈αcontain ␈↓ π∞␈↓β␈↓ π.pointers to online documentation,
␈↓ ↓N␈↓the␈α7telepone␈α7number␈α8and␈α7modem ␈↓ π∞␈↓β␈↓ π.else give me a call at 415 497-4430
␈↓ ↓N␈↓characteristics,␈α∞the␈α
user␈α∞would␈α
have␈α∞to␈α
supply ␈↓ π∞␈↓β␈↓ π.(Stanford) or 415 321-7580 (home).
␈↓ ↓N␈↓them. ␈↓ π∞␈↓The␈α"night␈α
mail"␈αcommand␈α
causes␈αthe␈α
message
␈↓ π∞␈↓transmission␈α∂to␈α∞be␈α∂deferred␈α∂until␈α∞inexpensive
␈↓ ↓N␈↓The␈α⊂identity␈α⊂and␈α∂location␈α⊂of␈α⊂the␈α⊂sender␈α∂and ␈↓ π∞␈↓nighttime telephone rates are in force.
␈↓ ↓N␈↓date␈α
and␈α
time␈αof␈α
the␈α
message␈αare␈α
automatically
␈↓ ↓N␈↓placed␈α∩at␈α⊃the␈α∩front␈α∩of␈α⊃the␈α∩message.␈α∩ At␈α⊃the ␈↓ π∞␈↓Additional␈α⊂capabilities␈α⊃of␈α⊂the␈α⊃Dialnet␈α⊂system
␈↓ ↓N␈↓receiving␈αend,␈αif␈αthe␈αaddressee␈αis␈αlogged␈αin␈αon ␈↓ π∞␈↓can␈α
be␈α
used␈α
to␈α
follow␈α
up␈α
on␈α
the␈α
above␈α
inquiry,
␈↓ ↓N␈↓the␈αcomputer,␈αhe␈αis␈αimmediately␈αinformed␈αthat ␈↓ π∞␈↓as follows.
␈↓ ↓N␈↓mail␈α∃has␈α∃arrived␈α∀and␈α∃from␈α∃whom.␈α∃ If␈α∀not
␈↓ ↓N␈↓logged␈αin,␈αhe␈αwill␈αreceive␈αthe␈αmessage␈αthe␈αnext ␈↓ π∞␈↓␈↓π⊗␈↓ The ability to access remote text ≡les will be
␈↓ ↓N␈↓time␈αhe␈αlogs␈αin.␈α In␈αeither␈αcase,␈αhe␈αcan␈αuse␈αthe ␈↓ π∞␈↓␈↓ π.provided (with permission of the owners
␈↓ ↓N␈↓same facility to respond: ␈↓ π∞␈↓␈↓ π.required, of course). This interactive
␈↓ ↓N␈↓β␈↓ ↓nmail Smith ␈↓ π∞␈↓␈↓ π.reading facility will include the addition of
␈↓ ↓N␈↓β␈↓ ↓nDavid Piranha (DAVE@UTEX-CHEM3) has ␈↓ π∞␈↓␈↓ π."footnotes" to various parts of the text.
␈↓ ↓N␈↓β␈↓ ↓na student working on inhibition by ␈↓ π∞␈↓␈↓ π.These footnotes may be declared private
␈↓ ↓N␈↓β␈↓ ↓nanions of anhydrase B. ␈↓ π∞␈↓␈↓ π.(i.e. belonging to the reader) or public
␈↓ π∞␈↓␈↓ π.(available to the author and possibly
␈↓ ↓N␈↓Following up on this lead, the user types ␈↓ π∞␈↓␈↓ π.others).
␈↓ ↓N␈↓β␈↓ ↓nlink dave@utex-chem3
␈↓ π∞␈↓␈↓π⊗␈↓ It will be possible to run programs on a
␈↓ ↓N␈↓A␈α∨connection␈α is␈α∨made␈α∨to␈α the␈α∨speci≡ed ␈↓ π∞␈↓␈↓ π.remote computer, permitting experiments
␈↓ ↓N␈↓computer␈α⊗and,␈α⊗if␈α↔DAVE␈α⊗is␈α⊗logged␈α↔in,␈α⊗he ␈↓ π∞␈↓␈↓ π.with programs developed in other places.
␈↓ ↓N␈↓immediately receives a message saying ␈↓ π∞␈↓␈↓ π.This facility will permit the sharing of
␈↓ ↓N␈↓β␈↓ ↓n** Link request from Smith @SU-CHEM7 ␈↓ π∞␈↓␈↓ π.unique specialized capabilities over a
␈↓ ↓N␈↓β␈↓ ↓n** ␈↓ π∞␈↓␈↓ π.geographically distributed population.
␈↓ ↓N␈↓αOriginal Dialnet Proposal␈↓ ε%Scenario␈↓ ]4
␈↓ ↓N␈↓␈↓π⊗␈↓ File transfers will be permitted, with ␈↓ π∞␈↓account␈αthe␈αfact␈αthat␈αthe␈αsubcase␈αwill␈αhave␈αthe
␈↓ ↓N␈↓␈↓ ↓nsuitable error detection and correction ␈↓ π∞␈↓most␈α∃application␈α∃for␈α⊗a␈α∃long␈α∃time␈α⊗to␈α∃come.
␈↓ ↓N␈↓␈↓ ↓nfeatures, to permit sharing of data. The ␈↓ π∞␈↓Messages␈α∩about␈α∪where␈α∩to␈α∩deliver␈α∪a␈α∩message
␈↓ ↓N␈↓␈↓ ↓ncommunication protocol should be able to ␈↓ π∞␈↓sent␈α
by␈α
one␈α
time-sharing␈α
system␈α
to␈α
another␈α
will
␈↓ ↓N␈↓␈↓ ↓nadapt to a wide range of noise conditions ␈↓ π∞␈↓be␈α∂handled␈α∂as␈α∂a␈α∂special␈α∂sort␈α∂of␈α⊂message␈α∂that
␈↓ ↓N␈↓␈↓ ↓non phone lines. ␈↓ π∞␈↓one␈αprogram␈αmay␈αsend␈αanother␈αin␈αcases␈αwhere
␈↓ π∞␈↓the␈αtwo␈αprograms␈αare␈αnot␈αwritten␈αtogether,␈αbut
␈↓ π∞␈↓each␈α⊂must␈α⊂know␈α⊂a␈α⊂certain␈α⊂"public"␈α∂language.
␈↓ ↓N␈↓α␈↓ β,3. Protocols ␈↓ π∞␈↓Thus␈α↔we␈α↔will␈α_attempt␈α↔to␈α↔make␈α_a␈α↔general
␈↓ π∞␈↓format␈α⊂for␈α∂requests,␈α⊂questions,␈α⊂and␈α∂assertions
␈↓ ↓N␈↓In␈α∃order␈α∃to␈α∃make␈α∃these␈α∃facilities␈α∃available, ␈↓ π∞␈↓suitable␈α∞for␈α
communication␈α∞between␈α
computer
␈↓ ↓N␈↓suitable␈α
protocols␈α
must␈α
be␈α
designed,␈α
and␈αin␈α
the ␈↓ π∞␈↓programs.␈α⊃ We␈α⊃will␈α⊃study␈α⊃how␈α⊃to␈α∩make␈α⊃this
␈↓ ↓N␈↓course␈αof␈αthis,␈αa␈αnumber␈αof␈αtechnical␈αproblems ␈↓ π∞␈↓mesh␈α⊃with␈α⊃communication␈α⊃between␈α⊃computer
␈↓ ↓N␈↓have␈α_to␈α_be␈α_solved.␈α_ Besides␈α_the␈α_protocols ␈↓ π∞␈↓programs and people.
␈↓ ↓N␈↓themselves,␈α3which␈α3are␈α2communication
␈↓ ↓N␈↓procedures␈αand␈αdata␈αstructures,␈αthere␈αwill␈αbe␈αa
␈↓ ↓N␈↓recommended␈α⊂set␈α∂of␈α⊂terminal-level␈α∂commands ␈↓ π∞␈↓α␈↓ λ@4. Research Issues
␈↓ ↓N␈↓with␈α∃syntax␈α⊗prompting␈α∃and␈α⊗standard␈α∃error
␈↓ ↓N␈↓messages. ␈↓ π∞␈↓ There␈αare␈αmany␈αresearch␈αissues,␈αand␈αwe
␈↓ π∞␈↓don't␈α∂expect␈α∂to␈α∂settle␈α∂all␈α∂of␈α∂them␈α∂in␈α∂the␈α∞time
␈↓ ↓N␈↓We␈α∩believe␈α∩that␈α∩we␈α∩have␈α∩the␈α∩experience␈α∩to ␈↓ π∞␈↓and␈α→with␈α→the␈α→resources␈α→requested␈α~in␈α→this
␈↓ ↓N␈↓produce␈α
a␈α∞set␈α
of␈α∞workable␈α
protocols,␈α∞and␈α
that ␈↓ π∞␈↓proposal.␈α
Since␈α
we␈α
expect␈α
many␈α
of␈α
the␈α
issues
␈↓ ↓N␈↓it␈α∩is␈α∪better␈α∩to␈α∪start␈α∩with␈α∪an␈α∩implementation ␈↓ π∞␈↓will␈α
be␈α
clari≡ed␈α
by␈α
the␈α∞initial␈α
implementation,
␈↓ ↓N␈↓than␈α∃to␈α⊗standardize␈α∃something␈α⊗that␈α∃doesn't ␈↓ π∞␈↓we␈α∪will␈α∪concentrate␈α∪on␈α∪getting␈α∪a␈α∪reasonable
␈↓ ↓N␈↓exist.␈α The␈α
latter␈αprocedure␈α
in␈αrecent␈αyears␈α
has ␈↓ π∞␈↓≡rst implementation into experimental use.
␈↓ ↓N␈↓led␈α∀to␈α∀gold-plating␈α∀the␈α∀requirements␈α∃to␈α∀the
␈↓ ↓N␈↓extent that the standard is not implementable.␈↓ π∞␈↓ Here␈α∃are␈α∀some␈α∃of␈α∀the␈α∃issues␈α∃we␈α∀will
␈↓ π∞␈↓study:
␈↓ ↓N␈↓We␈α⊃propose␈α⊂to␈α⊃devise␈α⊂suitable␈α⊃protocols,␈α⊂test
␈↓ ↓N␈↓them␈αat␈αa␈αfew␈αsites,␈αpublish␈αthem,␈αand␈αattempt ␈↓ π∞␈↓1.␈αWhat␈αerror␈αcorrection␈αfacilities␈αare␈αrequired
␈↓ ↓N␈↓to␈α∪convince␈α∪other␈α∪installations␈α∪to␈α∩implement ␈↓ π∞␈↓to␈α⊂make␈α⊂up␈α⊃for␈α⊂the␈α⊂de≡ciencies␈α⊃of␈α⊂telephone
␈↓ ↓N␈↓them.␈α
Almost␈α
certainly,␈α
initial␈α
experience␈αwill ␈↓ π∞␈↓lines?
␈↓ ↓N␈↓produce␈α≤a␈α≤requirement␈α≤for␈α≤changes,␈α≤and
␈↓ ↓N␈↓standardization␈α
committees␈αwill␈α
be␈αformed␈α
and ␈↓ π∞␈↓2.␈α∂What␈α∂is␈α∂the␈α∂minimal␈α∂necessary␈α∂burden␈α∂on
␈↓ ↓N␈↓set␈α#to␈α#work.␈α$ A␈α#likely␈α#forum␈α$for␈α#a ␈↓ π∞␈↓the␈α∩time-sharing␈α∩computers␈α∩carrying␈α∩out␈α∩the
␈↓ ↓N␈↓standardization␈α∩e≥ort␈α∩would␈α∩be␈α∩through␈α⊃the ␈↓ π∞␈↓communication?␈α& What␈α&is␈α&the␈α%trade-o≥
␈↓ ↓N␈↓ACM␈α∀to␈α∀the␈α∀American␈α∃National␈α∀Standards ␈↓ π∞␈↓between bu≥er size and compute time?
␈↓ ↓N␈↓Committee.
␈↓ π∞␈↓3.␈α
Can␈αdial-up␈α
telephone␈α
communication␈αrates
␈↓ ↓N␈↓We␈α$propose␈α$to␈α$allow␈α$interaction␈α#with ␈↓ π∞␈↓meet␈α∀most␈α∀of␈α∀the␈α∀needs␈α∀for␈α∀communication
␈↓ ↓N␈↓ARPAnet␈α→sites␈α_via␈α→TIPs␈α_and␈α→propose␈α_to ␈↓ π∞␈↓between␈α≥computers␈α≥belonging␈α≡to␈α≥di≥erent
␈↓ ↓N␈↓discuss␈α⊃with␈α∩ARPA␈α⊃and␈α⊃DCA␈α∩whether␈α⊃this ␈↓ π∞␈↓research organizations?
␈↓ ↓N␈↓will be allowed.
␈↓ π∞␈↓4.␈α
What␈αis␈α
the␈αbest␈α
way␈α
to␈αhandle␈α
the␈αfact␈α
that
␈↓ ↓N␈↓The␈α⊃most␈α⊃general␈α⊃use␈α⊃of␈α⊃Dialnet␈α⊃involves␈α⊃a ␈↓ π∞␈↓di≥erent␈α∞modem␈α∞speeds␈α∞have␈α∞di≥erent␈α
prices?
␈↓ ↓N␈↓program␈α∩in␈α∪one␈α∩computer␈α∩"waking␈α∪up"␈α∩and ␈↓ π∞␈↓Should␈αone␈αstrive␈αfor␈αa␈αstandard␈αspeed␈αor␈αcan
␈↓ ↓N␈↓interacting␈α!with␈α!a␈α!program␈α!in␈α another ␈↓ π∞␈↓a wide variety be easily accomodated?
␈↓ ↓N␈↓machine.␈α
Dialnet␈α
protocols␈α
will␈αhandle␈α
human
␈↓ ↓N␈↓messages␈α∃as␈α∃a␈α∃subcase␈α∃of␈α∃this,␈α⊗taking␈α∃into ␈↓ π∞␈↓5.␈α_How␈α_will␈α_the␈α→improved␈α_communication
␈↓ ↓N␈↓αOriginal Dialnet Proposal␈↓ ¬vResearch Issues␈↓ ←5
␈↓ ↓N␈↓a≥ect␈α∩research?␈α∩ Since␈α∩changes␈α∩will␈α∩be␈α∩slow,
␈↓ ↓N␈↓how␈α
can␈α∞we␈α
tell␈α
as␈α∞early␈α
as␈α
possible␈α∞what␈α
the
␈↓ ↓N␈↓e≥ects will be?
␈↓ ↓N␈↓6.␈α∞What␈α∞style␈α∞of␈α∞interaction␈α∞is␈α∂convenient␈α∞for
␈↓ ↓N␈↓both␈α↔experienced␈α↔and␈α_inexperienced␈α↔users?
␈↓ ↓N␈↓How␈α∩can␈α⊃communication␈α∩programs␈α∩be␈α⊃made
␈↓ ↓N␈↓self-teaching without being cumbersome?
␈↓ ↓N␈↓α␈↓ ε↑␈↓ `6
␈↓ ↓N␈↓α␈↓ β,Appendix B ␈↓ π∞␈↓data␈α∃bytes␈α∃over␈α∃the␈α∃phone␈α∃lines␈α⊗and␈α∃does
␈↓ ↓N␈↓α␈↓ β↓Basic line protocol ␈↓ π∞␈↓necessary␈α∂byte␈α∂framing,␈α∞but␈α∂otherwise␈α∂has␈α∞no
␈↓ π∞␈↓error␈α
correction␈α
facilities.␈α
At␈α
this␈α
writing,␈α
the
␈↓ ↓N␈↓↓␈↓ β∪by Mark Crispin ␈↓ π∞␈↓modem␈α≡type␈α≡used␈α≡are␈α≡VADIC␈α≡VA3405
␈↓ π∞␈↓1200/1200␈α∨baud␈α∨full␈α∨duplex␈α≡asyncronous
␈↓ π∞␈↓modems.
␈↓ ↓N␈↓α␈↓ β⊗5. Conventions
␈↓ π∞␈↓Next␈α∂is␈α⊂the␈α∂␈↓↓host-host␈↓␈α⊂layer,␈α∂which␈α⊂breaks␈α∂the
␈↓ ↓N␈↓All␈αnumbers␈αwithout␈αan␈αexplicit␈αbase␈αspeci≡ed ␈↓ π∞␈↓data␈α∀stream␈α∀into␈α∀chunks,␈α∀or␈α∀␈↓↓packets␈↓.␈α∪ Each
␈↓ ↓N␈↓(i.e.,␈αoctal␈αor␈αdecimal)␈αshould␈αbe␈αinterpreted␈αas ␈↓ π∞␈↓packet␈αis␈αchecksummed␈αand␈αsequenced,␈αso␈αthat
␈↓ ↓N␈↓octal␈α∨unless␈α the␈α∨number␈α is␈α∨immediately ␈↓ π∞␈↓retransmission␈αcan␈αbe␈αdone␈αon␈αa␈αpacket␈αwhose
␈↓ ↓N␈↓followed by a dot, in which case it is decimal.␈↓ π∞␈↓previous␈α∂transmission␈α⊂was␈α∂corrupted␈α⊂in␈α∂some
␈↓ π∞␈↓way.␈α⊃ Many␈α⊃systems␈α⊃may␈α⊃want␈α⊃to␈α⊂implement
␈↓ ↓N␈↓All␈α≡three-digit␈α≡octal␈α≡numbers␈α≡should␈α≥be ␈↓ π∞␈↓this␈α∃layer␈α∃in␈α∀their␈α∃operating␈α∃system,␈α∃so␈α∀all
␈↓ ↓N␈↓interpreted␈αas␈αrepresenting␈αan␈α8.-bit␈αbyte,␈αwith ␈↓ π∞␈↓␈↓↓Dialnet␈↓␈α
user␈α
programs␈α
will␈α
behave␈α
at␈α
this␈α
level
␈↓ ↓N␈↓bits␈αright-justi≡ed␈αwithin␈αthe␈αnumber␈α(ie,␈αfrom ␈↓ π∞␈↓in the same manner.
␈↓ ↓N␈↓000␈α∞to␈α
377).␈α∞ Bytes␈α
are␈α∞expressed␈α
in␈α∞the␈α
form
␈↓ ↓N␈↓as␈α∞returned␈α
by␈α∞the␈α
modem␈α∞(ie,␈α
lsb␈α∞≡rst␈α∞in␈α
the ␈↓ π∞␈↓Finally␈α∩comes␈α∪the␈α∩user-level␈α∪protocols.␈α∩ This
␈↓ ↓N␈↓data stream). ␈↓ π∞␈↓includes␈α⊂≡le␈α∂transfer,␈α⊂mail,␈α⊂linking,␈α∂telnetting,
␈↓ π∞␈↓etc.␈α≥ These␈α≤are␈α≥user-level␈α≥programs,␈α≤and
␈↓ ↓N␈↓All␈α#six-digit␈α$octal␈α#numbers␈α$should␈α#be ␈↓ π∞␈↓␈↓↓Dialnet␈↓␈α≥has␈α≥been␈α≥designed␈α≥with␈α≥enough
␈↓ ↓N␈↓interpreted␈α∩as␈α∪representing␈α∩a␈α∪16.-bit␈α∩double- ␈↓ π∞␈↓∨exibility␈α∂to␈α∂allow␈α∂for␈α∂users␈α∂to␈α∂create␈α∂private
␈↓ ↓N␈↓byte,␈α≡with␈α≡bits␈α≡right-justi≡ed␈α≡within␈α≥the ␈↓ π∞␈↓protocols of their own.
␈↓ ↓N␈↓number␈α
(ie,␈α
from␈α
000000␈α
to␈α
177777).␈α
Double-
␈↓ ↓N␈↓bytes␈α⊂are␈α⊂expressed␈α⊂in␈α⊂the␈α⊂form␈α⊂returned␈α∂by ␈↓ π∞␈↓Questions␈αconcerning␈α␈↓↓Dialnet␈↓␈αprotocols␈αshould
␈↓ ↓N␈↓the␈αmodem␈α(ie,␈αlow␈α
order␈αbyte␈αand␈αlsb␈α≡rst);␈α
ie, ␈↓ π∞␈↓be addressed to:
␈↓ ↓N␈↓010041 is transmitted as 041 020.
␈↓ π∞␈↓␈↓↓␈↓ λdMark Crispin
␈↓ π∞␈↓↓␈↓ πpArti≡cial Intelligence Laboratory
␈↓ ↓N␈↓α␈↓ β76. Preface ␈↓ π∞␈↓↓␈↓ λ
Stanford, California 94305
␈↓ ↓N␈↓␈↓↓␈↓ ↓b"Aren't you glad you use Dialnet? Don't you ␈↓ π∞␈↓↓␈↓ λ1Phone: (415) 491-4712
␈↓ ↓N␈↓ α}␈↓↓wish everybody did?"␈↓ ␈↓ π∞␈↓↓␈↓ λ!ARPAnet: MRC@SU-AI␈↓
␈↓ ↓N␈↓␈↓↓Dialnet␈↓␈α8provides␈α8a␈α8capability␈α8for ␈↓ π∞␈↓Copies␈αof␈αall␈αcorrespondence␈αshould␈αbe␈αsent␈αto
␈↓ ↓N␈↓geographically␈α≡separated␈α∨computers,␈α≡called ␈↓ π∞␈↓John␈αMcCarthy␈αand␈αLes␈αEarnest␈αat␈αthe␈αabove
␈↓ ↓N␈↓␈↓↓hosts␈↓,␈α⊂to␈α⊃communicate␈α⊂with␈α⊂each␈α⊃other.␈α⊂ The ␈↓ π∞␈↓US␈α∀mail␈α∀address␈α∪or␈α∀via␈α∀ARPAnet␈α∀mail␈α∪to
␈↓ ↓N␈↓host␈α≥computers␈α≤typically␈α≥di≥er␈α≥from␈α≤one ␈↓ π∞␈↓JMC@SU-AI and LES@SU-AI.
␈↓ ↓N␈↓another␈αin␈α
type,␈αspeed,␈αword␈α
length,␈αoperating
␈↓ ↓N␈↓system,␈α
etc.␈α
Each␈α
computer␈α
utilizes␈α␈↓↓Dialnet␈↓␈α
via ␈↓ π∞␈↓It␈α
is␈α
the␈αauthor's␈α
intent␈α
that␈α
these␈αprotocols␈α
are
␈↓ ↓N␈↓ordinary phone lines and special modems. ␈↓ π∞␈↓both␈α~simple␈α≠in␈α~their␈α≠implementation␈α~and
␈↓ π∞␈↓powerful␈α≠in␈α≠their␈α≠operation.␈α≠ Certainly␈α≠a
␈↓ ↓N␈↓As␈α in␈α many␈α other␈α data␈α∨communication ␈↓ π∞␈↓major␈α→design␈α→consideration␈α→was␈α→to␈α→design
␈↓ ↓N␈↓schemes,␈αa␈αlayered␈αapproach␈αhas␈αbeen␈αselected ␈↓ π∞␈↓protocols␈α*that␈α*ordinary␈α+mortals␈α*could
␈↓ ↓N␈↓in␈α∂the␈α∂design␈α∂of␈α∂the␈α∂Dialnet␈α∂protocols.␈α∂ Each ␈↓ π∞␈↓implement on their systems.
␈↓ ↓N␈↓layer␈α⊗sees␈α⊗the␈α⊗immediate␈α⊗lower␈α⊗layer␈α⊗as␈α∃a
␈↓ ↓N␈↓"black␈α
box"␈αand␈α
need␈αnot␈α
be␈α
concerned␈αabout
␈↓ ↓N␈↓its␈α∞internal␈α∞structure.␈α∞ The␈α∞lowest␈α∞layer␈α∞is␈α∞the
␈↓ ↓N␈↓line␈α⊂protocol␈α∂of␈α⊂the␈α∂modems,␈α⊂which␈α∂transfers
␈↓ ↓N␈↓αBasic line protocol␈↓ ε↑␈↓ `7
␈↓ ↓N␈↓α␈↓ αj7. Host-Host Protocol ␈↓ π∞␈↓it␈α∪should␈α∪send␈α∪a␈α∪NOP,␈α∪repeated␈α∪every␈α∩≡ve
␈↓ π∞␈↓seconds␈α∞or␈α∞so.␈α∂ This␈α∞assures␈α∞the␈α∂receiver␈α∞that
␈↓ ↓N␈↓All␈αdata␈α
is␈αsent␈αin␈α
the␈αform␈αof␈α
packets,␈αwhich ␈↓ π∞␈↓the␈αsender␈αis␈αstill␈αup,␈αand␈αserves␈αto␈αinform␈αthe
␈↓ ↓N␈↓contain␈α∞a␈α∞␈↓↓packet␈α∞header␈↓,␈α∞optional␈α∞␈↓↓data␈↓,␈α∞and␈α∞a ␈↓ π∞␈↓receiver␈α∩if␈α∪any␈α∩of␈α∪its␈α∩pending␈α∪packets␈α∩were
␈↓ ↓N␈↓␈↓↓packet␈α∩trailer␈↓.␈α∩ The␈α⊃packet␈α∩header␈α∩serves␈α⊃to ␈↓ π∞␈↓missed.␈α∩ However,␈α⊃if␈α∩the␈α⊃sender␈α∩has␈α⊃packets
␈↓ ↓N␈↓identify␈α
the␈αtype␈α
of␈αpacket,␈α
the␈αsize␈α
of␈αthe␈α
data ␈↓ π∞␈↓waiting␈α"to␈α"be␈α"acknowledged,␈α"it␈α"should
␈↓ ↓N␈↓area␈α⊃and␈α⊃provides␈α⊃information␈α⊃necessary␈α⊂for ␈↓ π∞␈↓retransmit␈α0the␈α0last␈α0packet␈α0on␈α0the
␈↓ ↓N␈↓data␈α∩∨ow␈α∪and␈α∩error␈α∩correction.␈α∪ The␈α∩packet ␈↓ π∞␈↓acknowledgement␈α_pending␈α_list.␈α_ This␈α_is␈α_to
␈↓ ↓N␈↓trailer␈α∪provides␈α∪a␈α∪checksum␈α∪for␈α∀the␈α∪packet. ␈↓ π∞␈↓avoid␈α
a␈α∞possible␈α
deadlock␈α
which␈α∞occurs␈α
when
␈↓ ↓N␈↓Packets␈αare␈αframed␈α
at␈αeach␈αend␈α
with␈αa␈α␈↓↓start␈α
of ␈↓ π∞␈↓the␈α
last␈α
packet␈α
before␈αthe␈α
sending␈α
goes␈α
idle␈αis
␈↓ ↓N␈↓↓packet␈↓ and an ␈↓↓end of packet␈↓ marker. ␈↓ π∞␈↓lost.
␈↓ ↓N␈↓The␈α∂bytes␈α∂which␈α⊂indicate␈α∂start␈α∂of␈α⊂packet␈α∂are ␈↓ π∞␈↓A␈α∩properly␈α⊃received␈α∩packet␈α⊃with␈α∩a␈α⊃non-zero
␈↓ ↓N␈↓called␈α∞SOP,␈α∞and␈α
consist␈α∞of␈α∞ASCII␈α∞DLE␈α
(220) ␈↓ π∞␈↓packet␈α
number␈α
must␈α
be␈α
acknowledged␈α
for␈α
the
␈↓ ↓N␈↓followed␈α∪by␈α∪STX␈α∪(202);␈α∪similarly,␈α∀the␈α∪bytes ␈↓ π∞␈↓sender␈α⊂to␈α⊂know␈α⊂that␈α⊂the␈α⊂receiver␈α∂successfully
␈↓ ↓N␈↓which␈α
indicate␈α
end␈αof␈α
packet␈α
are␈α
called␈αEOP, ␈↓ π∞␈↓received␈α
the␈α
packet␈αand␈α
to␈α
release␈α
that␈αpacket
␈↓ ↓N␈↓and␈α∞are␈α
ASCII␈α∞DLE␈α
followed␈α∞by␈α∞ETX␈α
(203). ␈↓ π∞␈↓from␈α≤the␈α≤window.␈α≤ Each␈α≤packet␈α≤has␈α≠an
␈↓ ↓N␈↓Note␈αthat␈αthe␈α200␈αbit␈αis␈α␈↓↓on␈↓␈αin␈αDLE,␈αSTX,␈αand ␈↓ π∞␈↓acknowledgement␈α∂byte␈α∂which␈α∂is␈α∂used␈α∂for␈α∞this
␈↓ ↓N␈↓ETX.␈α If␈αa␈α220␈αbyte␈αis␈αto␈αbe␈αsent,␈αit␈α
is␈αquoted ␈↓ π∞␈↓purpose.␈α⊃ This␈α⊂byte␈α⊃in␈α⊂a␈α⊃packet␈α⊂sent␈α⊃by␈α⊂the
␈↓ ↓N␈↓by␈α≥being␈α≥sent␈α≥twice.␈α≥ DLE␈α≥followed␈α≥by ␈↓ π∞␈↓receiver␈α⊃contains␈α⊃the␈α⊃number␈α⊃of␈α∩the␈α⊃highest
␈↓ ↓N␈↓anything␈α⊂other␈α⊂than␈α⊂STX,␈α⊂ETX,␈α⊂or␈α⊃DLE␈α⊂is ␈↓ π∞␈↓successfully␈αreceived␈αpacket.␈α Acknowledging␈αa
␈↓ ↓N␈↓currently␈α→unde≡ned;␈α→any␈α→such␈α_combination ␈↓ π∞␈↓packet␈α?␈αλimplies␈α?␈α acknowledging␈α?␈αλall
␈↓ ↓N␈↓when␈α
received␈α
should␈αbe␈α
discarded.␈α
020,␈α002, ␈↓ π∞␈↓unacknowledged␈α_packets␈α↔with␈α_lower␈α↔packet
␈↓ ↓N␈↓and␈α
003␈α
are␈α
␈↓↓not␈↓␈α
considered␈α
to␈α
be␈α∞DLE,␈α
STX, ␈↓ π∞␈↓numbers,␈α≠therefore␈α≠a␈α≤successfully␈α≠received
␈↓ ↓N␈↓and ETX. ␈↓ π∞␈↓packet␈α∀can␈α∀merely␈α∀set␈α∀the␈α∀acknowledgement
␈↓ π∞␈↓byte␈α⊃for␈α⊃the␈α⊃next␈α⊃packet␈α⊃to␈α⊃be␈α∩sent␈α⊃without
␈↓ ↓N␈↓All␈α
packets␈α
have␈α∞a␈α
packet␈α
number,␈α∞which␈α
for ␈↓ π∞␈↓actually forcing a packet to be sent.
␈↓ ↓N␈↓most␈α∞packets␈α
starts␈α∞at␈α
001␈α∞and␈α∞is␈α
incremented
␈↓ ↓N␈↓with␈α∩each␈α∩packet␈α∩sent.␈α∩ The␈α∪packet␈α∩number ␈↓ π∞␈↓Packets␈α
must␈αbe␈α
received␈αin␈α
sequence,␈αwith␈α
the
␈↓ ↓N␈↓wraps␈α⊃around␈α⊃to␈α⊃001␈α⊃from␈α⊃377.␈α⊃ Up␈α∩to␈α⊃two ␈↓ π∞␈↓exception␈α∞of␈α∞packets␈α∞with␈α∞packet␈α∞number␈α
000
␈↓ ↓N␈↓(the␈α
default␈αwindow␈α
size)␈αpackets␈α
may␈α
be␈αsent ␈↓ π∞␈↓(see␈α
above).␈α
If␈αthe␈α
receiver␈α
receives␈α
a␈αpacket␈α
it
␈↓ ↓N␈↓before␈αan␈αacknowledgement␈αis␈αreceived␈α
for␈α(at ␈↓ π∞␈↓has␈αalready␈αacknowledged␈αit␈αshould␈αdiscard␈αit.
␈↓ ↓N␈↓least)␈α∀the␈α∃≡rst␈α∀packet.␈α∀ The␈α∃window␈α∀begins ␈↓ π∞␈↓Packets␈α≥which␈α≤have␈α≥a␈α≥sequence␈α≤number
␈↓ ↓N␈↓with␈α)the␈α)≡rst␈α)unacknowledged␈α(packet; ␈↓ π∞␈↓higher␈α∂than␈α∂the␈α∂expected␈α∂packet␈α∂and␈α∞packets
␈↓ ↓N␈↓therefore␈α⊗the␈α⊗window␈α⊗size␈α⊗is␈α⊗an␈α∃allocation ␈↓ π∞␈↓with␈α∞incorrect␈α∂checksum␈α∞should␈α∂be␈α∞discarded,
␈↓ ↓N␈↓which␈α⊂is␈α∂used␈α⊂up␈α∂as␈α⊂packets␈α∂are␈α⊂sent␈α⊂and␈α∂is ␈↓ π∞␈↓and␈α
a␈α
NAK␈α∞sent␈α
for␈α
the␈α
expected␈α∞packet.␈α
In
␈↓ ↓N␈↓given back as packets are acknowledged. ␈↓ π∞␈↓the␈α∃event␈α∀of␈α∃a␈α∀framing␈α∃error,␈α∃the␈α∀receiver
␈↓ π∞␈↓should␈α⊗discard␈α⊗all␈α⊗input␈α⊗until␈α⊗an␈α⊗SOP␈α⊗is
␈↓ ↓N␈↓Some␈α⊗packets␈α⊗(ie,␈α⊗NOP,␈α⊗NAK,␈α⊗and␈α⊗ERR) ␈↓ π∞␈↓encountered␈α∞in␈α∞the␈α∞input␈α∞stream.␈α∞ If␈α∂a␈α∞packet
␈↓ ↓N␈↓have␈α
a␈α
packet␈α
number␈α
of␈α
000.␈α
These␈αpackets ␈↓ π∞␈↓is␈α∀discarded␈α∀for␈α∀being␈α∀out␈α∀of␈α∃sequence,␈α∀its
␈↓ ↓N␈↓do␈αnot␈αcount␈α
against␈αthe␈αwindow,␈αand␈α
are␈αnot ␈↓ π∞␈↓acknowledgement␈α∃byte␈α∃should␈α∃still␈α∃be␈α∃used,
␈↓ ↓N␈↓remembered␈α∂for␈α∞retransmission␈α∂after␈α∂they␈α∞are ␈↓ π∞␈↓otherwise␈α%an␈α%acknowledgement␈α%may␈α$be
␈↓ ↓N␈↓sent.␈α
Therefore␈α
they␈α
are␈α
lost␈α
if␈α
an␈α
error␈α
occurs ␈↓ π∞␈↓unnecessarily missed.
␈↓ ↓N␈↓while␈α⊗they␈α⊗are␈α⊗being␈α⊗transmitted.␈α⊗ This␈α⊗is
␈↓ ↓N␈↓because␈α~what␈α≠information␈α~they␈α≠convey␈α~is ␈↓ π∞␈↓In␈α∨␈↓↓Dialnet␈↓,␈α∨the␈α∨window␈α∨is␈α∨␈↓↓optional␈↓;␈α≡in
␈↓ ↓N␈↓generally␈α
timing-critical;␈α
if␈α
the␈α
packet␈α
was␈αlost ␈↓ π∞␈↓particular,␈α∂an␈α∂implementation␈α∂which␈α∂uses␈α∂the
␈↓ ↓N␈↓nothing would be gained by sending it again.␈↓ π∞␈↓window␈α↔should␈α↔not␈α↔get␈α↔upset␈α_because␈α↔the
␈↓ π∞␈↓foreign␈α↔host␈α↔disobeys␈α↔it␈α↔(it␈α↔can␈α↔of␈α↔course
␈↓ ↓N␈↓If␈α
the␈α
sender␈α∞intends␈α
to␈α
temporarily␈α∞"go␈α
idle", ␈↓ π∞␈↓neglect␈α∪to␈α∪acknowledge␈α∪packets␈α∀which␈α∪cause
␈↓ ↓N␈↓αBasic line protocol␈↓ ¬←Host-Host Protocol␈↓ ←8
␈↓ ↓N␈↓data␈α⊂overruns␈α∂and␈α⊂force␈α∂them␈α⊂to␈α⊂be␈α∂re-sent). ␈↓ π∞␈↓"data␈α→size"␈α→≡eld␈α→in␈α→the␈α→packet␈α→header␈α→is
␈↓ ↓N␈↓However,␈α
any␈α∞implementation␈α
which␈α∞is␈α
trying ␈↓ π∞␈↓actually ␈↓↓one less␈↓ than the actual data size.
␈↓ ↓N␈↓to␈αbe␈αreasonably␈αe≠cient␈αshould␈αdo␈αsomething
␈↓ ↓N␈↓about␈α≤handling␈α≤windows␈α≤and␈α≤telling␈α≤the ␈↓ π∞␈↓The␈αmotivation␈α
for␈αthis␈α
is␈αthat␈α
a␈αpower␈αof␈α
two
␈↓ ↓N␈↓foreign␈α∂host␈α∂what␈α∂sort␈α∂of␈α∂window␈α∂size␈α∂it␈α∞can ␈↓ π∞␈↓is␈α↔a␈α⊗convenient␈α↔unit␈α⊗of␈α↔storage␈α↔for␈α⊗many
␈↓ ↓N␈↓live with. ␈↓ π∞␈↓systems.␈α∪ In␈α∪addition,␈α∀many␈α∪implementations
␈↓ π∞␈↓will␈α≡nd␈αit␈αconvenient␈αto␈αpack␈αfour␈α
data␈αbytes
␈↓ ↓N␈↓There␈α→is␈α→no␈α→o≠cial␈α→timeout␈α→for␈α→deciding ␈↓ π∞␈↓in␈α∂a␈α∂single␈α∂storage␈α∂word.␈α∂ With␈α∂framing␈α∞and
␈↓ ↓N␈↓whether␈α⊃a␈α⊃host␈α∩is␈α⊃still␈α⊃alive␈α⊃or␈α∩whether␈α⊃the ␈↓ π∞␈↓DLE␈α⊃doubling␈α⊃stripped,␈α⊃this␈α⊃means␈α⊃that␈α⊂the
␈↓ ↓N␈↓phone␈α≠connection␈α≤is␈α≠poor␈α≠enough␈α≤to␈α≠be ␈↓ π∞␈↓packet␈α↔header␈α↔will␈α↔be␈α↔exactly␈α_one␈α↔storage
␈↓ ↓N␈↓unusable.␈α≠ Each␈α≠implementor␈α≤must␈α≠decide ␈↓ π∞␈↓word,␈α⊗and␈α⊗the␈α⊗data␈α⊗part␈α⊗will␈α⊗begin␈α⊗on␈α∃a
␈↓ ↓N␈↓these for him/herself. ␈↓ π∞␈↓storage␈α
word␈αboundary.␈α
In␈αaddition,␈α
the␈αdata
␈↓ π∞␈↓part␈α∂of␈α∂a␈α∂maximum-size␈α∂packet␈α∂will␈α∂also␈α∂end
␈↓ ↓N␈↓The␈α∩packet␈α∩checksum␈α⊃algorithm␈α∩used␈α∩is␈α⊃the ␈↓ π∞␈↓on␈α∀a␈α∀storage␈α∃word.␈α∀ This␈α∀is␈α∃signi≡cant␈α∀for
␈↓ ↓N␈↓result␈α∀of␈α∃a␈α∀conversation␈α∀with␈α∃Knuth.␈α∀ The ␈↓ π∞␈↓many␈αsystems␈αin␈αterms␈αof␈αbu≥ering;␈αwhether␈αa
␈↓ ↓N␈↓checksum␈αis␈α16.␈αbits␈αlong␈αand␈αall␈αof␈αthe␈αpacket ␈↓ π∞␈↓byte-by-byte␈α∩copy␈α∪must␈α∩be␈α∪done␈α∩or␈α∪a␈α∩faster
␈↓ ↓N␈↓header␈α
variables␈α∞and␈α
the␈α∞entire␈α
data␈α∞area.␈α
It ␈↓ π∞␈↓word␈α∩transfer.␈α∩ The␈α∩PDP-10␈α∩implementation
␈↓ ↓N␈↓does␈α⊃NOT␈α⊃include␈α⊃the␈α⊃packet␈α⊃trailer␈α⊃or␈α⊃the ␈↓ π∞␈↓at␈α Stanford␈α exploits␈α this;␈α!an␈α IBM-style
␈↓ ↓N␈↓SOP/EOP␈α∩packet␈α⊃framing␈α∩codes.␈α∩ Note␈α⊃that ␈↓ π∞␈↓machine can derive similar bene≡t.
␈↓ ↓N␈↓framing␈α∩checks␈α∩happen␈α∩␈↓↓before␈↓␈α∪the␈α∩checksum
␈↓ ↓N␈↓check. ␈↓ π∞␈↓In␈α⊂the␈α⊂CLS,␈α∂NAK,␈α⊂EOF,␈α⊂and␈α⊂INT␈α∂op-codes
␈↓ π∞␈↓the␈α⊃data␈α⊃byte␈α∩is␈α⊃meaningless␈α⊃and␈α∩should␈α⊃be
␈↓ ↓N␈↓The␈αalgorithm␈αis:␈α(all␈αnumbers␈αshould␈αbe␈αread ␈↓ π∞␈↓ignored,␈α↔however,␈α↔it␈α↔still␈α↔must␈α↔be␈α⊗present.
␈↓ ↓N␈↓as octal) ␈↓ π∞␈↓Additionally,␈α∞this␈α
byte␈α∞should␈α
always␈α∞be␈α
zero,
␈↓ π∞␈↓to␈α
allow␈α
these␈α
op␈α
codes␈α
to␈α
have␈α∞a␈α
meaningful
␈↓ ↓N␈↓␈↓ ↓nchecksum := 1; ␈↓ π∞␈↓data part in a future revision of the protocol.
␈↓ ↓N␈↓␈↓ ↓nwhile newchar do checksum := (checksum *
␈↓ ↓N␈↓␈↓ αn013215 + newchar) & 177777; ␈↓ π∞␈↓There␈α
are␈α
no␈α
restrictions␈α
on␈α
the␈α
size␈αor␈α
content
␈↓ π∞␈↓of␈α
the␈αdata␈α
part␈αof␈α
a␈αNOP␈α
packet,␈α
except␈αthe
␈↓ ↓N␈↓In PDP-10 assembly code, this would be: ␈↓ π∞␈↓packet␈α↔structure␈α↔restriction␈α↔that␈α⊗1≤size≤256.
␈↓ π∞␈↓Since,␈α∪however,␈α∪the␈α∪data␈α∪is␈α∪ignored␈α∀by␈α∪the
␈↓ ↓N␈↓
; CHKBYT adds a byte to the checksum ␈↓ π∞␈↓receiver,␈α
a␈α
NOP␈α
packet␈α
would␈α
generally␈α
have
␈↓ ↓N␈↓
in SUM. ␈↓ π∞␈↓a␈α⊃one-byte␈α⊃data␈α⊂part,␈α⊃although␈α⊃some␈α⊂systems
␈↓ ↓N␈↓
; At the beginning of each packet SUM ␈↓ π∞␈↓might␈α∞want␈α∞to␈α∞pad␈α∞to␈α∞4␈α∞data␈α∞bytes␈α∞(note␈α
that
␈↓ ↓N␈↓
is ␈↓ π∞␈↓this␈α
means␈α
the␈α∞size␈α
≡eld␈α
in␈α
the␈α∞packet␈α
header
␈↓ ↓N␈↓
; initialized to 1. ␈↓ π∞␈↓is 3!) to keep things on word boundaries.
␈↓ ↓N␈↓
; Call: MOVE CHR,<byte from data
␈↓ ↓N␈↓
stream>
␈↓ ↓N␈↓
; PUSHJ P,CHKBYT
␈↓ ↓N␈↓
; <return>
␈↓ ↓N␈↓
CHKBYT: IMULI SUM,013215
␈↓ ↓N␈↓
ADDI SUM,(CHR)
␈↓ ↓N␈↓
ANDI SUM,177777
␈↓ ↓N␈↓
POPJ P,
␈↓ ↓N␈↓There␈α
is␈αalways␈α
at␈αleast␈α
one␈αword␈α
in␈α
the␈αdata
␈↓ ↓N␈↓part␈α∞of␈α∞the␈α∞packet.␈α
The␈α∞data␈α∞part␈α∞size␈α
refers
␈↓ ↓N␈↓to␈αthe␈αnumber␈αof␈α␈↓↓additional␈↓␈αwords␈αin␈αthe␈αdata
␈↓ ↓N␈↓part.␈α⊂ Hence␈α⊂the␈α⊂data␈α⊂part␈α⊂can␈α⊂be␈α⊂␈↓↓from␈α⊂1␈α⊂to
␈↓ ↓N␈↓↓256␈↓␈α∪data␈α∪bytes␈α∪long.␈α∪ This␈α∪means␈α∀that␈α∪the
␈↓ ↓N␈↓αBasic line protocol␈↓ ¬←Host-Host Protocol␈↓ `9
␈↓ ↓N␈↓α␈↓ β≠Packet Format ␈↓ π∞␈↓001 RPC (Request Process Connection)
␈↓ ↓N␈↓
␈↓ ↓↑____________________________________ ␈↓ π∞␈↓␈↓ π.(optional) 8 bytes of process ID
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓␈↓ π.(optional) 1 byte of initial window size
␈↓ ↓N␈↓
␈↓ ↓↑| 2 bytes SOP framing mark |
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓This␈α⊂is␈α⊃the␈α⊂establish␈α⊃connection␈α⊂op␈α⊃code.␈α⊂ It
␈↓ ↓N␈↓
␈↓ ↓↑|==================================| ␈↓ π∞␈↓serves␈α∞a␈α∞dual␈α∞purpose;␈α∞to␈α∞request␈α
establishing
␈↓ ↓N␈↓
␈↓ ↓↑| Channel | Op Code | ␈↓ π∞␈↓a␈α∪connection,␈α∀and␈α∪to␈α∪con≡rm␈α∀establishing␈α∪a
␈↓ ↓N␈↓
␈↓ ↓↑| (4 bits) | (4 bits) | ␈↓ π∞␈↓connection.␈α∪ In␈α∪the␈α∪≡rst␈α∪case,␈α∪the␈α∪data␈α∪area
␈↓ ↓N␈↓
␈↓ ↓↑|________________|_________________| ␈↓ π∞␈↓contains␈α∃an␈α∃8.-byte␈α∀␈↓↓process␈α∃ID␈↓,␈α∃which␈α∃is␈α∀a
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓handle␈α
to␈αthe␈α
remote␈αprocess␈α
the␈αsender␈α
wishes
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte Packet number | ␈↓ π∞␈↓to␈αconnect␈αto.␈α In␈αthe␈αlatter␈αcase,␈αno␈αprocess␈αID
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________| ␈↓ π∞␈↓is␈α∃speci≡ed.␈α∀ A␈α∃single␈α∀byte␈α∃may␈α∃follow␈α∀the
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓process ID to specify an initial window size.
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte Acknowledgement |
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________| ␈↓ π∞␈↓002 CLS (Close Connection)
␈↓ ↓N␈↓
␈↓ ↓↑| |
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte Data size | ␈↓ π∞␈↓This␈α∂is␈α∂the␈α∂terminate␈α∂connection␈α∂op␈α∂code.␈α∂ It
␈↓ ↓N␈↓
␈↓ ↓↑|==================================| ␈↓ π∞␈↓may␈αeither␈αterminate␈αan␈αexisting␈αconnection␈α
or
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓abort a request for one.
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte Data word |
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________| ␈↓ π∞␈↓003 WIN (set WINdow size)
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓␈↓ π.1 byte of window size
␈↓ ↓N␈↓
␈↓ ↓↑| (specified |
␈↓ ↓N␈↓
␈↓ ↓↑| by data Additional data bytes | ␈↓ π∞␈↓This␈αop␈αcode␈αsets␈αthe␈αinput␈αwindow␈αsize;␈αie,␈αit
␈↓ ↓N␈↓
␈↓ ↓↑| size byte) | ␈↓ π∞␈↓suggests␈α∂to␈α∂the␈α∂receiver␈α∂how␈α∂many␈α⊂packets␈α∂it
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓may␈α2send␈α2before␈α2waiting␈α3for␈α2an
␈↓ ↓N␈↓
␈↓ ↓↑|==================================| ␈↓ π∞␈↓acknowledgement.␈α, The␈α,minimum␈α+(and
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓default)␈α≤window␈α≠size␈α≤is␈α≠2␈α≤packets.␈α≠ The
␈↓ ↓N␈↓
␈↓ ↓↑| 2 bytes Packet checksum | ␈↓ π∞␈↓absolute␈α⊂maximum␈α⊂window␈α⊂is␈α⊃127.;␈α⊂however,
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓many␈α_systems␈α_may␈α_want␈α_to␈α_set␈α_a␈α↔smaller
␈↓ ↓N␈↓
␈↓ ↓↑|==================================| ␈↓ π∞␈↓maximum␈α∩window.␈α⊃ At␈α∩Stanford,␈α∩the␈α⊃system
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓maximum is 16. packets.
␈↓ ↓N␈↓
␈↓ ↓↑| 2 bytes EOP framing mark |
␈↓ ↓N␈↓
␈↓ ↓↑| | ␈↓ π∞␈↓004 MSG (MeSsaGe)
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________| ␈↓ π∞␈↓␈↓ π.0 to 256. bytes of data
␈↓ π∞␈↓This␈α⊂is␈α⊂the␈α⊂data␈α⊂transmission␈α⊂op␈α⊂code.␈α⊂ The
␈↓ ↓N␈↓α␈↓ αwHost-Host Op-Codes ␈↓ π∞␈↓contents␈α∩of␈α∩the␈α∩data␈α⊃part␈α∩are␈α∩passed␈α∩to␈α⊃the
␈↓ π∞␈↓tertiary process.
␈↓ ↓N␈↓In␈α∩the␈α⊃descriptions␈α∩below,␈α∩certain␈α⊃arguments
␈↓ ↓N␈↓are␈α∂passed␈α∂along␈α∞with␈α∂the␈α∂commands.␈α∞ These ␈↓ π∞␈↓005 NAK (Negative AcKnowledgment)
␈↓ ↓N␈↓arguments␈α∩are␈α∪listed␈α∩in␈α∪the␈α∩order␈α∪in␈α∩which
␈↓ ↓N␈↓they␈α⊂occur,␈α∂along␈α⊂with␈α∂their␈α⊂byte␈α⊂size.␈α∂ They ␈↓ π∞␈↓This␈α≠op␈α≠code␈α≠requests␈α≠that␈α≤the␈α≠receiver
␈↓ ↓N␈↓all occur in the DATA ≡eld of the packet. ␈↓ π∞␈↓retransmit␈α∞all␈α∞unacknowledged␈α∞packets␈α∂that␈α∞it
␈↓ π∞␈↓sent.
␈↓ ↓N␈↓000 NOP (No-op)
␈↓ π∞␈↓006 EOF (End Of File)
␈↓ ↓N␈↓This␈αop␈αcode␈αis␈αa␈αno-operation␈αand␈αshould␈αbe
␈↓ ↓N␈↓ignored␈αby␈αthe␈αreceiver␈αexcept␈αthat␈αthe␈αpacket ␈↓ π∞␈↓This␈α
op␈α
code␈α∞is␈α
used␈α
to␈α∞raise␈α
an␈α
"end␈α∞of␈α
≡le"
␈↓ ↓N␈↓still␈α∪has␈α∩to␈α∪be␈α∩acknowledged.␈α∪ It␈α∩is␈α∪used␈α∩to ␈↓ π∞␈↓condition␈α∂on␈α∂a␈α∂particular␈α∂channel␈α∂to␈α∂indicate
␈↓ ↓N␈↓acknowledge␈α
a␈α
packet␈α
without␈α
doing␈αanything ␈↓ π∞␈↓the end of a data stream.
␈↓ ↓N␈↓else.
␈↓ ↓N␈↓αBasic line protocol␈↓ ¬←Host-Host Protocol␈↓ T10
␈↓ ↓N␈↓007 INT (Interrupt) ␈↓ π∞␈↓host␈α→should␈α→return␈α→a␈α→CLS␈α→to␈α→refuse␈α_the
␈↓ π∞␈↓connection.
␈↓ ↓N␈↓This␈α⊂op␈α⊂code␈α⊂is␈α⊂used␈α⊂to␈α⊂raise␈α⊂an␈α∂"interrupt"
␈↓ ↓N␈↓condition␈α≠on␈α~a␈α≠particular␈α~channel.␈α≠ It␈α~is ␈↓ π∞␈↓Otherwise,␈α∨S␈α accepts␈α∨the␈α connection␈α∨by
␈↓ ↓N␈↓intended␈α⊂that␈α⊂a␈α⊂user␈α⊂process␈α⊂be␈α⊂informed␈α⊂of ␈↓ π∞␈↓sending␈α⊗an␈α⊗RPC␈α⊗back␈α⊗to␈α⊗U,␈α⊗with␈α↔a␈α⊗null
␈↓ ↓N␈↓the␈α⊂interrupt␈α⊃twice;␈α⊂when␈α⊃it␈α⊂is␈α⊃received,␈α⊂and ␈↓ π∞␈↓process␈α∀ID.␈α∀ The␈α∀connection␈α∀has␈α∀now␈α∀been
␈↓ ↓N␈↓when␈αit␈αoccurs␈αin␈αthe␈αdata␈αstream␈α(the␈αlatter␈αis ␈↓ π∞␈↓established,␈α⊂and␈α⊃the␈α⊂process␈α⊃ID␈α⊂is␈α⊃no␈α⊂longer
␈↓ ↓N␈↓to␈α indicate␈α the␈α end␈α of␈α!the␈α "interrupt" ␈↓ π∞␈↓used␈α_by␈α→the␈α_host-host␈α_protocol.␈α→ The␈α_two
␈↓ ↓N␈↓condition). ␈↓ π∞␈↓processes␈α∂may␈α∂now␈α∞pass␈α∂data␈α∂back␈α∂and␈α∞forth
␈↓ π∞␈↓using the various Host-Host op codes.
␈↓ ↓N␈↓010 ERR (Error)
␈↓ ↓N␈↓␈↓ ↓n0 to 256. bytes of ASCII error text ␈↓ π∞␈↓When␈αa␈αhost␈αwishes␈αto␈αterminate␈αa␈α
connection,
␈↓ π∞␈↓it␈α∞sends␈α∂a␈α∞CLS.␈α∞ Once␈α∂a␈α∞CLS␈α∞has␈α∂been␈α∞sent,
␈↓ ↓N␈↓This␈α
op␈α
code␈α
is␈α
used␈α
to␈α
send␈α
a␈α
protocol␈αerror ␈↓ π∞␈↓no␈αfurther␈α
MSG's␈αmay␈αbe␈α
sent␈αand␈α
any␈αMSG
␈↓ ↓N␈↓warning.␈α
It␈αis␈α
intended␈α
that␈αa␈α
receiver␈αof␈α
such ␈↓ π∞␈↓sent␈α∂should␈α⊂be␈α∂replied␈α∂to␈α⊂with␈α∂an␈α⊂ERR.␈α∂ Of
␈↓ ↓N␈↓a␈αwarning␈α
output␈αthe␈αcontents␈α
of␈αthe␈αdata␈α
part ␈↓ π∞␈↓course,␈α⊂a␈α⊂new␈α⊂connection␈α⊂may␈α⊂be␈α⊂established
␈↓ ↓N␈↓of␈α⊃the␈α⊃message␈α⊃(which␈α⊃should␈α⊃be␈α∩an␈α⊃ASCII ␈↓ π∞␈↓with␈α∪RPC.␈α∪ Breaking␈α∪the␈α∀phone␈α∪connection
␈↓ ↓N␈↓string)␈α↔on␈α↔a␈α↔logging␈α↔terminal␈α↔so␈α↔that␈α↔the ␈↓ π∞␈↓implies terminating the connection.
␈↓ ↓N␈↓support␈α⊂sta≥␈α⊂can␈α⊂determine␈α⊂the␈α⊂cause␈α⊂of␈α⊂the
␈↓ ↓N␈↓problem␈α∂and␈α∂take␈α∂corrective␈α∂action.␈α∂ This␈α∂op ␈↓ π∞␈↓When␈α#a␈α#connection␈α#is␈α#terminated,␈α"the
␈↓ ↓N␈↓code␈αshould␈αbe␈αused␈αjudiciously,␈αsince␈αneedless ␈↓ π∞␈↓recepient␈α⊂of␈α⊂the␈α⊂CLS␈α∂should␈α⊂send␈α⊂a␈α⊂CLS␈α∂to
␈↓ ↓N␈↓usage would only defeat its purpose. ␈↓ π∞␈↓con≡rm terminating the process.
␈↓ ↓N␈↓α␈↓ β+Connections␈↓
␈↓ π∞␈↓α␈↓ πB8. Introduction to Tertiary Protocols
␈↓ ↓N␈↓In␈α
the␈α
discussion␈α
below,␈α
U␈α
refers␈α
to␈α
the␈α
process
␈↓ ↓N␈↓which␈α∃initially␈α⊗provoked␈α∃the␈α⊗connection␈α∃or ␈↓ π∞␈↓All␈α
protocol␈α
communication␈α
in␈α
the␈α
higher␈α
level
␈↓ ↓N␈↓␈↓↓user␈↓,␈α∃S␈α⊗refers␈α∃to␈α⊗the␈α∃the␈α⊗process␈α∃passively ␈↓ π∞␈↓Dialnet␈α⊂protocols␈α⊂(e.g.␈α⊂ MAIL,␈α⊂File␈α⊂Transfer)
␈↓ ↓N␈↓waiting for a connection or ␈↓↓server␈↓. ␈↓ π∞␈↓uses␈αa␈αlist␈αformat␈αfor␈αmessages.␈α Each␈αmessage
␈↓ π∞␈↓therefore has the form
␈↓ ↓N␈↓Channel 0 is to be used for ICP.
␈↓ π∞␈↓(<identi≡er> <item> ... <item>)
␈↓ ↓N␈↓Following␈α≥the␈α≥establishment␈α≥of␈α≥a␈α≤dialup
␈↓ ↓N␈↓connection,␈α∞U␈α∞should␈α∞send␈α
a␈α∞few␈α∞NOP's␈α∞to␈α
S ␈↓ π∞␈↓where␈α#the␈α#items␈α#themselves␈α#are␈α"either
␈↓ ↓N␈↓to␈αavoid␈αpossible␈α
problems␈αwith␈αdropped␈α
bytes ␈↓ π∞␈↓identi≡ers␈α∩or␈α∩have␈α∩a␈α∩similar␈α∩structure.␈α∩ The
␈↓ ↓N␈↓while connecting. ␈↓ π∞␈↓object of this scheme is to ensure ∨exibility.
␈↓ ↓N␈↓U␈αmust␈αknow␈αthe␈αprocess␈αID␈αof␈αthe␈αS␈αit␈αwants ␈↓ π∞␈↓Suppose,␈αfor␈αexample,␈αthat␈αone␈αof␈αthe␈αitems␈αin
␈↓ ↓N␈↓to␈α
connect␈α
to.␈α
As␈αfar␈α
as␈α
Dialnet␈α
is␈αconcerned, ␈↓ π∞␈↓a␈α∪protocol␈α∪message␈α∪designates␈α∪a␈α∀user␈α∪name.
␈↓ ↓N␈↓process␈α≠ID's␈α≠are␈α≠arbitrary␈α≤ASCII␈α≠strings. ␈↓ π∞␈↓Initial␈α∩designs␈α∩of␈α∪Dialnet␈α∩may␈α∩allow␈α∪only␈α∩a
␈↓ ↓N␈↓However,␈α∩conventions␈α⊃have␈α∩been␈α⊃established ␈↓ π∞␈↓character␈α∨string␈α∨without␈α∨parentheses␈α∨like
␈↓ ↓N␈↓as noted elsewhere. ␈↓ π∞␈↓SMITH␈α↔to␈α⊗designate␈α↔the␈α⊗user.␈α↔ Later␈α⊗this
␈↓ π∞␈↓might␈α∂be␈α⊂elaborated␈α∂to␈α⊂also␈α∂allow␈α⊂a␈α∂complex
␈↓ ↓N␈↓U␈α∞sends␈α∞an␈α∞RPC␈α∞with␈α
the␈α∞process␈α∞ID␈α∞at␈α∞S␈α
it ␈↓ π∞␈↓designator␈α_like␈α_(SUCCESSOR␈α_SMITH)␈α↔to
␈↓ ↓N␈↓wants␈αto␈αconnect␈αto.␈α S␈αmay␈αhave␈αbeen␈αwaiting ␈↓ π∞␈↓designate␈α the␈α person␈α who␈α has␈α∨replaced
␈↓ ↓N␈↓for␈α
a␈α
connection,␈α
or␈α
perhaps␈α
was␈α
created␈α
by␈α
S's ␈↓ π∞␈↓SMITH in this job assignment.
␈↓ ↓N␈↓host␈α⊂as␈α⊂a␈α⊂result␈α⊃of␈α⊂the␈α⊂RPC.␈α⊂ If␈α⊂S␈α⊃does␈α⊂not
␈↓ ↓N␈↓exist␈α∀or␈α∪S's␈α∀host␈α∪is␈α∀unable␈α∪or␈α∀unwilling␈α∪to ␈↓ π∞␈↓There␈αis␈αno␈αpresent␈αintention␈αthat␈α
the␈αDialnet
␈↓ ↓N␈↓make␈α⊂the␈α⊂connection␈α⊂at␈α⊂the␈α⊂present␈α⊃time,␈α⊂S's ␈↓ π∞␈↓protocols␈α∞will␈α∞be␈α∞subject␈α∞to␈α∞rapid␈α
elaboration.
␈↓ ↓N␈↓αBasic line protocol␈↓ ∧wIntroduction to Tertiary Protocols␈↓ V11
␈↓ ↓N␈↓The␈α∩present␈α∩object␈α∩is␈α∩merely␈α∩to␈α∩build␈α⊃these
␈↓ ↓N␈↓protocols␈α⊃so␈α⊂that␈α⊃they␈α⊂will␈α⊃not␈α⊂be␈α⊃subject␈α⊂to
␈↓ ↓N␈↓blind␈αalleys.␈α
Therefore,␈αthere␈α
are␈αno␈α≡xed␈α
size
␈↓ ↓N␈↓≡elds,␈αand␈α
item␈αthat␈α
is␈αinitially␈α
represented␈αby
␈↓ ↓N␈↓an␈α
atomic␈α
name␈αmay␈α
later␈α
be␈α
replaced␈αby␈α
some
␈↓ ↓N␈↓kind␈α∪of␈α∩expression,␈α∪and␈α∩new␈α∪terms␈α∪may␈α∩be
␈↓ ↓N␈↓adjoined␈αto␈αlists.␈α Thus␈αif␈αan␈αitem␈αis␈αpresently
␈↓ ↓N␈↓denoted␈α∩by␈α∪a␈α∩three␈α∪term␈α∩list,␈α∪an␈α∩elaborated
␈↓ ↓N␈↓protocol␈αmay␈αlater␈αcall␈αfor␈αa␈αfour␈αitem␈αlist,␈αbut
␈↓ ↓N␈↓if␈α
the␈α∞same␈α
initial␈α
identi≡er␈α∞is␈α
used,␈α∞it␈α
should
␈↓ ↓N␈↓still␈α∂be␈α⊂possible␈α∂for␈α∂a␈α⊂recipient␈α∂to␈α⊂ignore␈α∂the
␈↓ ↓N␈↓fourth item and still use the message.
␈↓ ↓N␈↓We␈α∩believe␈α∩that␈α∩these␈α∩conventions,␈α∩at␈α⊃slight
␈↓ ↓N␈↓cost␈α
in␈α
initial␈α
implementation,␈α
will␈αmake␈α
future
␈↓ ↓N␈↓improvements easy should they be required.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ P12
␈↓ ↓N␈↓α␈↓ β+Appendix C ␈↓ π∞␈↓Under␈α
request␈αfrom␈α
the␈αuser␈α
process,␈α
the␈αuser
␈↓ ↓N␈↓α␈↓ αoFile transfer protocol ␈↓ π∞␈↓program␈α↔establishes␈α↔a␈α↔connection␈α↔with␈α↔the
␈↓ π∞␈↓desired␈α∀server.␈α∀ Channel␈α∪0␈α∀is␈α∀employed␈α∪for
␈↓ ↓N␈↓↓␈↓ β∂by Ignacio Zabala ␈↓ π∞␈↓exchange␈α∩of␈α∪commands␈α∩and␈α∪replies␈α∩between
␈↓ π∞␈↓the␈α~user␈α~and␈α~server␈α~programs.␈α≠ When␈α~a
␈↓ ↓N␈↓The␈α∀␈↓↓File␈α∀Transfer␈α∀Protocol␈↓␈α∀(FTP)␈α∪provides ␈↓ π∞␈↓connection␈α⊃is␈α⊃established,␈α⊃the␈α⊃server␈α∩sends␈α⊃a
␈↓ ↓N␈↓Dialnet␈α∃hosts␈α∃with␈α∃a␈α∃set␈α∃of␈α∃commands␈α∀for ␈↓ π∞␈↓"reply"␈αconsisting␈αof␈α
a␈αgreeting␈αmessage␈α
(which
␈↓ ↓N␈↓transmission of ≡les among them. ␈↓ π∞␈↓can␈α∩contain␈α∩anything,␈α∩such␈α∩as␈α∪system␈α∩name,
␈↓ π∞␈↓etc.).
␈↓ ↓N␈↓Because␈α⊃we␈α⊃count␈α⊃on␈α⊃quite␈α∩di≥erent␈α⊃systems
␈↓ ↓N␈↓using␈α∪Dialnet,␈α∪it␈α∪is␈α∪necessary␈α∪to␈α∪establish␈α∪a ␈↓ π∞␈↓At␈α⊗this␈α⊗point␈α⊗both␈α⊗sites␈α⊗must␈α↔reach␈α⊗some
␈↓ ↓N␈↓small␈α∩set␈α∪of␈α∩essential␈α∩commands␈α∪and␈α∩replies ␈↓ π∞␈↓agreement␈αabout␈αthe␈αcharacteristics␈αof␈αthe␈α∨ow
␈↓ ↓N␈↓that␈α
are␈α
implemented␈α∞by␈α
all␈α
of␈α
them␈α∞in␈α
order ␈↓ π∞␈↓of␈α∞data␈α∞between␈α∂them␈α∞so␈α∞that␈α∂the␈α∞transferred
␈↓ ↓N␈↓to␈α∂make␈α⊂possible␈α∂the␈α⊂communication␈α∂between ␈↓ π∞␈↓data␈α⊂is␈α⊂interpreted␈α⊂in␈α⊂the␈α⊂same␈α⊂way␈α⊃at␈α⊂both
␈↓ ↓N␈↓any␈α⊗two␈α⊗sites.␈α⊗ On␈α⊗top␈α⊗of␈α⊗this,␈α⊗additional ␈↓ π∞␈↓ends␈α
of␈αthe␈α
connection.␈α
This␈αis␈α
the␈αpurpose␈α
of
␈↓ ↓N␈↓commands␈α↔are␈α_de≡ned␈α↔that␈α_enchance␈α↔data ␈↓ π∞␈↓the␈αDATA␈αcommand.␈α The␈αagreement␈αmay␈αbe
␈↓ ↓N␈↓transfer between two similar hosts. ␈↓ π∞␈↓renegotiated␈α∪at␈α∪any␈α∪time␈α∪in␈α∪which␈α∀no␈α∪data
␈↓ π∞␈↓transmission␈α∀is␈α∀in␈α∀progress.␈α∀ The␈α∀user␈α∀may
␈↓ ↓N␈↓FTP␈α~commands␈α~consist␈α~of␈α~standard␈α~8-bit ␈↓ π∞␈↓then␈α
issue␈α∞service␈α
requests␈α
thru␈α∞the␈α
command
␈↓ ↓N␈↓ASCII␈α⊂strings.␈α⊂ Any␈α⊂number␈α⊂appearing␈α⊃in␈α⊂a ␈↓ π∞␈↓channel.
␈↓ ↓N␈↓command will always be decimal.
␈↓ ↓N␈↓The␈α⊂interactions␈α⊂between␈α⊂the␈α⊃various␈α⊂parties
␈↓ ↓N␈↓in␈α
an␈α∞FTP␈α
transaction␈α∞may␈α
be␈α∞best␈α
described
␈↓ ↓N␈↓by the following diagram:
␈↓ β.␈↓
________ ________
␈↓ β.␈↓
| | Data | |
␈↓ β.␈↓
----->|(Output)|>---------->|(Input) |>--
␈↓ β.␈↓
! | | Channel(1) | | !
␈↓ β.␈↓
! | | | | !
␈↓ β.␈↓
! | | | | !
␈↓ β.␈↓
! | | Command | | ! _____
␈↓ β.␈↓
! | Server |<==========>| User |<======>| User|
␈↓ β.␈↓
! | Process| Channel(0) | Process| ! |_____|
␈↓ β.␈↓
∧ | | | | !
␈↓ β.␈↓
______ | | | | ! ________
␈↓ β.␈↓
| File | | | Data | | --->| File |
␈↓ β.␈↓
|System|<-<|(Input) |<----------<|(Output)|<----<| System |
␈↓ β.␈↓
|______| |________| Channel(2) |________| |________|
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ T13
␈↓ ↓N␈↓Data␈α↔is␈α↔transferred␈α↔on␈α↔the␈α_data␈α↔channels. ␈↓ π∞␈↓choice␈α∀as␈α∀to␈α∀the␈α∀amount␈α∀of␈α∀information␈α∪to
␈↓ ↓N␈↓When␈αthe␈αserver␈αreceives␈αa␈αrequest␈αto␈αretrieve ␈↓ π∞␈↓return in a reply.
␈↓ ↓N␈↓a␈α→≡le,␈α→it␈α_tries␈α→to␈α→obtain␈α_the␈α→≡le␈α→and,␈α_if
␈↓ ↓N␈↓everything␈αgoes␈αright,␈αit␈αsends␈αa␈αpositive␈αreply ␈↓ π∞␈↓The replies are:
␈↓ ↓N␈↓on␈α∂channel␈α∂0␈α∂and␈α∞starts␈α∂sending␈α∂the␈α∂data␈α∞on
␈↓ ↓N␈↓channel␈α1.␈α Upon␈αreceipt␈αof␈αthe␈αreply,␈αthe␈αuser ␈↓ π∞␈↓␈↓ π.␈↓↓(OK (<optional-text>))␈↓
␈↓ ↓N␈↓will␈α∂start␈α∂taking␈α∂packets␈α∂from␈α∂channel␈α⊂1␈α∂and
␈↓ ↓N␈↓will␈αeventually␈αstore␈αthe␈αdata␈αin␈αits␈α≡le␈αsystem. ␈↓ π∞␈↓␈↓ π.The␈α∞command␈α∞has␈α
been␈α∞accepted␈α∞as␈α
issued
␈↓ ↓N␈↓When␈α~a␈α≠store␈α~or␈α~append␈α≠operations␈α~are ␈↓ π∞␈↓␈↓ λ∞and␈α∞will␈α∞cause␈α
the␈α∞desired␈α∞e≥ect.␈α
If
␈↓ ↓N␈↓requested␈α⊃it␈α⊃is␈α⊃the␈α⊃user␈α⊃program␈α⊃which␈α⊃gets ␈↓ π∞␈↓␈↓ λ∞the␈α∀command␈α∪requires␈α∀two␈α∪replies,
␈↓ ↓N␈↓the␈α≡le␈αand␈αsends␈αit␈αto␈αthe␈αserver␈αthru␈α
channel ␈↓ π∞␈↓␈↓ λ∞this is the primary positive reply.
␈↓ ↓N␈↓2.␈α
After␈αthe␈α
request,␈αthe␈α
server␈αis␈α
listening␈αto
␈↓ ↓N␈↓this␈α∂channel␈α⊂and␈α∂when␈α⊂the␈α∂packets␈α⊂arrive,␈α∂it ␈↓ π∞␈↓␈↓ π.␈↓↓(DONE (<optional-text>))␈↓
␈↓ ↓N␈↓will store the data in its ≡le system.
␈↓ π∞␈↓␈↓ π.This␈α⊗is␈α⊗the␈α↔secondary␈α⊗reply␈α⊗for␈α↔a␈α⊗data
␈↓ ↓N␈↓Data␈αtransmission␈αis␈αterminated␈αby␈αany␈α
of␈αthe ␈↓ π∞␈↓␈↓ λ∞transfer␈α→command␈α→whose␈α→primary
␈↓ ↓N␈↓following reasons: ␈↓ π∞␈↓␈↓ λ∞reply␈α∞was␈α∞positive.␈α∞ It␈α∞indicates␈α∞that
␈↓ π∞␈↓␈↓ λ∞the data transfer is ≡nished.
␈↓ ↓N␈↓-␈α∪The␈α∪receiver␈α∪gets␈α∪an␈α∪end␈α∪of␈α∪≡le␈α∀on␈α∪that
␈↓ ↓N␈↓␈↓ ↓nchannel.␈α
This␈α
is␈α
the␈α
normal␈αtermination␈α
for ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<optional-text>))␈↓
␈↓ ↓N␈↓␈↓ ↓na successful data transfer.
␈↓ π∞␈↓␈↓ π.The␈αserver␈αcannot␈αattend␈αthe␈αrequest␈αbut␈αif
␈↓ ↓N␈↓-␈α⊃An␈α⊂interrupt␈α⊃has␈α⊃been␈α⊂issued␈α⊃on␈α⊃the␈α⊂data ␈↓ π∞␈↓␈↓ λ∞you␈α∪keep␈α∀trying␈α∪it␈α∀may␈α∪eventually
␈↓ ↓N␈↓␈↓ ↓nchannel.␈α⊃ Any␈α⊃data␈α⊃previously␈α⊃received␈α⊂in ␈↓ π∞␈↓␈↓ λ∞give you the service.
␈↓ ↓N␈↓␈↓ ↓nthat transmission is discarded.
␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<optional-text>))␈↓
␈↓ ↓N␈↓-␈α~The␈α~command␈α~channel␈α~is␈α~closed.␈α→ The
␈↓ ↓N␈↓␈↓ ↓ncommand␈α∀channel␈α∃may␈α∀be␈α∀closed␈α∃by␈α∀the ␈↓ π∞␈↓␈↓ π.You␈α∩are␈α∩losing␈α∩with␈α∩this␈α∪command.␈α∩ The
␈↓ ↓N␈↓␈↓ ↓nserver␈αat␈αany␈α
time,␈αbut␈αit␈α
will␈αtypically␈αdo␈α
so ␈↓ π∞␈↓␈↓ λ∞argument will tell the reason.
␈↓ ↓N␈↓␈↓ ↓nonly␈α
after␈αa␈α
request␈αfrom␈α
the␈αuser␈α
who␈αwill
␈↓ ↓N␈↓␈↓ ↓nsend␈α≠it␈α≠when␈α≠≡nished␈α≠using␈α≠the␈α~FTP ␈↓ π∞␈↓α␈↓ λ
Access Control Commands␈↓
␈↓ ↓N␈↓␈↓ ↓nservice.
␈↓ π∞␈↓The␈α
following␈α
commands␈α
specify␈αaccess␈α
control
␈↓ ↓N␈↓α␈↓ β*FTP Replies␈↓ ␈↓ π∞␈↓identi≡ers.␈α∂ Some␈α∂sites␈α∞may␈α∂not␈α∂require␈α∞them,
␈↓ π∞␈↓but␈α⊃if␈α⊃issued␈α⊂they␈α⊃should␈α⊃be␈α⊃correct.␈α⊂ When
␈↓ ↓N␈↓The␈α∂following␈α∂pages␈α∞contain␈α∂a␈α∂description␈α∞of ␈↓ π∞␈↓needed␈α∃it␈α⊗is␈α∃the␈α⊗responsibility␈α∃of␈α⊗the␈α∃user
␈↓ ↓N␈↓the␈α∩commands␈α∩available␈α∩in␈α∩the␈α∩Dialnet␈α∩File ␈↓ π∞␈↓program␈α
to␈α
make␈α
sure␈α
that␈α
they␈α
arrive␈α
in␈α
the
␈↓ ↓N␈↓Transfer␈α⊃Protocol␈α⊃and␈α⊃the␈α⊃corresponding␈α⊂set ␈↓ π∞␈↓correct␈α⊗order.␈α⊗ Because␈α⊗the␈α⊗server␈α↔has␈α⊗the
␈↓ ↓N␈↓of replies. ␈↓ π∞␈↓faculty␈α∞to␈α∞close␈α∂the␈α∞connection␈α∞at␈α∞any␈α∂time,␈α∞it
␈↓ π∞␈↓may␈αvery␈αwell␈αdo␈αso␈αafter␈α
several␈αunsuccessful
␈↓ ↓N␈↓It␈α≤is␈α≤strongly␈α≠recommended␈α≤that␈α≤␈↓↓all␈↓␈α≠the ␈↓ π∞␈↓log-in trials.
␈↓ ↓N␈↓commands␈α∪be␈α∪implemented,␈α∪although␈α∪clearly
␈↓ ↓N␈↓not all have the same importance. ␈↓ π∞␈↓I. (USER <user-id>)
␈↓ ↓N␈↓There␈α
are␈α∞only␈α
four␈α∞possible␈α
replies.␈α∞ In␈α
each ␈↓ π∞␈↓With␈αthis␈αcommand␈αthe␈αuser␈αidenti≡es␈αhimself
␈↓ ↓N␈↓of␈αthem␈αthe␈α≡rst␈αitem␈αidenti≡es␈αthe␈αreply.␈α The ␈↓ π∞␈↓to␈α
the␈αserver␈α
so␈α
that␈αit␈α
is␈αgranted␈α
access␈α
to␈αits
␈↓ ↓N␈↓second␈α⊂item␈α∂is␈α⊂a␈α⊂list␈α∂which␈α⊂contains␈α⊂a␈α∂string ␈↓ π∞␈↓≡le␈α↔system.␈α↔ Some␈α↔sites␈α↔might␈α↔require␈α⊗this
␈↓ ↓N␈↓which␈α∀in␈α∀most␈α∃cases␈α∀is␈α∀passed␈α∀to␈α∃the␈α∀user ␈↓ π∞␈↓command␈α∩to␈α⊃be␈α∩the␈α⊃≡rst␈α∩command␈α∩thru␈α⊃the
␈↓ ↓N␈↓without␈α∞further␈α∞processing.␈α∞ Hence,␈α∞there␈α∞is␈α∞a ␈↓ π∞␈↓connection␈α∂and␈α∂may␈α∂even␈α∂require␈α⊂a␈α∂complete
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ Q14
␈↓ ↓N␈↓log-in␈α∪sequence␈α∪with␈α∪a␈α∪password␈α∪and/or␈α∩an ␈↓ π∞␈↓III. (ACCOUNT <account>)
␈↓ ↓N␈↓account␈α
number.␈α
A␈α
new␈α
USER␈α
command␈α
may
␈↓ ↓N␈↓be␈αsent␈αat␈αany␈αtime,␈αin␈αwhich␈αthere␈αis␈αno␈αdata ␈↓ π∞␈↓The␈αargument␈α
is␈αa␈α
string␈αidentifying␈αthe␈α
user's
␈↓ ↓N␈↓transmission,␈α→to␈α→change␈α→the␈α~access␈α→control ␈↓ π∞␈↓account.
␈↓ ↓N␈↓and/or␈α"accounting␈α"information.␈α! Transfer
␈↓ ↓N␈↓parameters are unchanged by this command. ␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓Replies: ␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK)␈↓ ␈↓ π∞␈↓␈↓ π.Even␈α
if␈α
the␈α
server␈α
has␈α
no␈α
accounting␈α
service
␈↓ π∞␈↓␈↓ λ∞this␈α⊂reply␈α⊂should␈α⊂be␈α⊂sent␈α⊂in␈α⊂case␈α∂a
␈↓ ↓N␈↓␈↓ ↓nThe␈α∩user␈α∩has␈α∩successfully␈α∩logged␈α∩into␈α⊃the ␈↓ π∞␈↓␈↓ λ∞≡xed␈α∩sequence␈α∪has␈α∩been␈α∪issued␈α∩by
␈↓ ↓N␈↓␈↓ αNforeign␈α#host.␈α# No␈α$password␈α#is ␈↓ π∞␈↓␈↓ λ∞the user.
␈↓ ↓N␈↓␈↓ αNrequired.
␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<reason>))␈↓
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (PASSWORD?))␈↓
␈↓ ↓N␈↓␈↓ ↓nThe␈α⊃<user-id>␈α∩was␈α⊃accepted␈α⊃but␈α∩a␈α⊃correct ␈↓ π∞␈↓IV. (BYE)
␈↓ ↓N␈↓␈↓ αNpassword␈αis␈αrequired␈αto␈αcontinue␈αthe
␈↓ ↓N␈↓␈↓ αNlog-in process. ␈↓ π∞␈↓The␈αuser␈αsends␈α
this␈αmessage␈αbefore␈αclosing␈α
the
␈↓ π∞␈↓connection, to say it is going away.
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(BUSY (<reason>))␈↓
␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(FAILED (<reason>))␈↓
␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓
␈↓ ↓N␈↓II. (PASSWORD <password>) ␈↓ π∞␈↓α␈↓ λ(The DATA Command␈↓
␈↓ ↓N␈↓The␈α
argument␈α
is␈α
a␈α
character␈α
string␈α
specifying ␈↓ π∞␈↓V. (DATA <byte-size> <type> <structure>)
␈↓ ↓N␈↓the user's password.
␈↓ π∞␈↓The␈α∩systems␈α∩that␈α⊃communicate␈α∩by␈α∩means␈α⊃of
␈↓ ↓N␈↓Replies: ␈↓ π∞␈↓Dialnet␈α∨may␈α∨have␈α∨di≥erent␈α∨word␈α≡(byte)
␈↓ π∞␈↓lengths,␈α⊂employ␈α⊂di≥erent␈α⊂data␈α∂representations
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK)␈↓ ␈↓ π∞␈↓and␈α⊗structure␈α⊗their␈α⊗stored␈α⊗data␈α⊗in␈α∃various
␈↓ π∞␈↓ways.␈α∂ To␈α∂solve␈α∂this␈α∂problem␈α∂we␈α∂de≡ne␈α∞some
␈↓ ↓N␈↓␈↓ ↓nUser log-in completed. ␈↓ π∞␈↓standard␈α∪default␈α∩values␈α∪of␈α∪these␈α∩parameters
␈↓ π∞␈↓and␈α⊂employ␈α⊂the␈α⊂DATA␈α⊂command␈α⊂to␈α⊂change
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (ACCOUNT?))␈↓ ␈↓ π∞␈↓them␈α
in␈α∞cases␈α
in␈α
which␈α∞the␈α
standards␈α∞are␈α
not
␈↓ π∞␈↓adequate.␈α& All␈α&users␈α&of␈α'Dialnet␈α&must
␈↓ ↓N␈↓␈↓ ↓nThe␈α≤<password>␈α≤was␈α≤accepted␈α≥but␈α≤an ␈↓ π∞␈↓implement␈α∂the␈α∂defaults,␈α∂that␈α∂is,␈α∂they␈α∂must␈α∂be
␈↓ ↓N␈↓␈↓ αNaccount␈α∪speci≡cation␈α∪is␈α∪required␈α∩to ␈↓ π∞␈↓able␈α∂to␈α∂send␈α⊂and␈α∂receive␈α∂meaningful␈α⊂data␈α∂in
␈↓ ↓N␈↓␈↓ αNcontinue the log-in process. ␈↓ π∞␈↓contiguous␈α
logical␈α
units␈α
of␈α
8␈α
bits,␈α
which␈αcan␈α
be
␈↓ π∞␈↓interpreted␈α
as␈α
standard␈α
ASCII␈α
characters␈α
and
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(FAILED (<reason>))␈↓ ␈↓ π∞␈↓are␈α
always␈α
transferred␈α
in␈α
groups␈α∞delimited␈α
by
␈↓ π∞␈↓end-of-≡le characters.
␈↓ π∞␈↓When␈α∃a␈α∃connection␈α∀is␈α∃≡rst␈α∃established,␈α∀the
␈↓ π∞␈↓server␈αwill␈αassume␈αthat␈αthe␈αdefault␈α
values␈αwill
␈↓ π∞␈↓be␈α∩used␈α∪and␈α∩will␈α∩be␈α∪prepared␈α∩to␈α∪make␈α∩the
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ S15
␈↓ ↓N␈↓necessary␈α∩data␈α∩conversions␈α∩from␈α∩his␈α∩own␈α∩to ␈↓ π∞␈↓␈↓ πNFILE␈α∃File␈α∃(no␈α∃internal␈α∃structure).␈α∃The
␈↓ ↓N␈↓the␈α
default␈α
form␈α
when␈α
sending,␈α
and␈α
from␈α
the ␈↓ π∞␈↓␈↓ λ.end␈αof␈αa␈α≡le␈αis␈αmarked␈αby␈αan␈αend-
␈↓ ↓N␈↓default to its own when receiving. ␈↓ π∞␈↓␈↓ λ.of-≡le packet.
␈↓ ↓N␈↓Often␈α∨user␈α and␈α∨server␈α∨will␈α be␈α∨similar ␈↓ π∞␈↓␈↓ πNRECORD␈α≥The␈α≡data␈α≥is␈α≡grouped␈α≥in
␈↓ ↓N␈↓machines␈α_and␈α_converting␈α_the␈α_data␈α_to␈α_the ␈↓ π∞␈↓␈↓ λ.records␈α
delimited␈α
by␈α
an␈α
EOR␈α
(end
␈↓ ↓N␈↓standard␈α⊗default␈α⊗form␈α⊗will␈α⊗be␈α∃unnecessary. ␈↓ π∞␈↓␈↓ λ.of␈α∂record)␈α∂marker.␈α∞At␈α∂the␈α∂end␈α∞of
␈↓ ↓N␈↓The␈α∩DATA␈α∩command␈α∪allows␈α∩a␈α∩user␈α∪to␈α∩tell ␈↓ π∞␈↓␈↓ λ.the␈α~≡le␈α→there␈α~is␈α~an␈α→end-of-≡le
␈↓ ↓N␈↓which␈α⊂are␈α⊂the␈α⊃parameters␈α⊂that␈α⊂he␈α⊃wants␈α⊂the ␈↓ π∞␈↓␈↓ λ.packet after the last EOR.
␈↓ ↓N␈↓server␈α∃to␈α∃employ␈α∃on␈α∃the␈α∃data␈α∃in␈α∃order␈α∃to
␈↓ ↓N␈↓minimize␈α∞the␈α∞user's␈α∞data␈α∞conversion␈α∞e≥ort.␈α
It ␈↓ π∞␈↓If␈αa␈αsite␈αreceives␈αand␈αstores␈αa␈α≡le␈αwhile␈αcertain
␈↓ ↓N␈↓can␈α
be␈α
issued␈α
as␈αmany␈α
times␈α
as␈α
desired␈αbut␈α
not ␈↓ π∞␈↓parameter␈α~values␈α~are␈α~active␈α~and␈α~is␈α~later
␈↓ ↓N␈↓during␈α
a␈α
data␈αtransmission.␈α
Of␈α
course,␈α
it␈αcan ␈↓ π∞␈↓requested␈α∩to␈α⊃return␈α∩that␈α⊃≡le␈α∩using␈α∩the␈α⊃same
␈↓ ↓N␈↓also␈α
be␈αused␈α
to␈αreturn␈α
to␈αthe␈α
standard␈αdefault ␈↓ π∞␈↓values,␈αthe␈αinput␈α
and␈αoutput␈αcopies␈α
should␈αbe
␈↓ ↓N␈↓form. ␈↓ π∞␈↓identical.␈α→Also␈α→we␈α→must␈α→require␈α→that␈α→any
␈↓ π∞␈↓transformation␈α∩su≥ered␈α∩by␈α∩a␈α∩≡le␈α∩during␈α⊃the
␈↓ ↓N␈↓All␈α~the␈α→arguments␈α~should␈α→be␈α~given,␈α→and ␈↓ π∞␈↓process␈α
of␈α
storing␈α
it␈αdo␈α
not␈α
a≥ect␈α
the␈αcontents
␈↓ ↓N␈↓precisely␈α⊃in␈α∩the␈α⊃speci≡ed␈α⊃order.␈α∩ They␈α⊃stand ␈↓ π∞␈↓of that ≡le if output in another form.
␈↓ ↓N␈↓for:
␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓␈↓ ↓n<byte-size>␈α∂is␈α∂a␈α∂decimal␈α∂number␈α∂specifying
␈↓ ↓N␈↓␈↓ αNthe␈α_desired␈α_logical␈α_byte␈α→size,␈α_i.e., ␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓
␈↓ ↓N␈↓␈↓ αNstarting␈αwith␈αthe␈α≡rst␈αbit␈αtransmitted
␈↓ ↓N␈↓␈↓ αNon␈α∀the␈α∀data␈α∀channel,␈α∀every␈α∪<byte- ␈↓ π∞␈↓␈↓ π.Good, the server agrees.
␈↓ ↓N␈↓␈↓ αNsize>␈α
bits␈αare␈α
a␈αcomplete␈α
entity.␈αThe
␈↓ ↓N␈↓␈↓ αNdefault byte size is 8. ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))␈↓
␈↓ ↓N␈↓␈↓ ↓n<type> may be: ␈↓ π∞␈↓␈↓ π.You␈α
are␈α
not␈α
allowed␈α
to␈α
change␈α
the␈αtransfer
␈↓ π∞␈↓␈↓ λ∞parameters now.
␈↓ ↓N␈↓␈↓ α∞ASCII Data consist of a sequence of
␈↓ ↓N␈↓␈↓ αncontiguous standard 8-bit ASCII ␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<reason>))␈↓
␈↓ ↓N␈↓␈↓ αncharacters. The end of a line of
␈↓ ↓N␈↓␈↓ αntext is denoted by a sequence ␈↓ π∞␈↓␈↓ π.The␈α
server␈α
may␈α
not␈α
have␈α
implemented␈α
one
␈↓ ↓N␈↓␈↓ αn<CRLF>. This is the default ␈↓ π∞␈↓␈↓ λ∞or␈α⊃several␈α∩of␈α⊃the␈α∩parameter␈α⊃values
␈↓ ↓N␈↓␈↓ αntype. ␈↓ π∞␈↓␈↓ λ∞speci≡ed␈αby␈α
the␈αarguments,␈αor␈α
it␈αcan
␈↓ π∞␈↓␈↓ λ∞accept␈α!each␈α!of␈α!them␈α!in␈α!some
␈↓ ↓N␈↓␈↓ α∞EBCDIC Data consist of 8-bit EBCDIC ␈↓ π∞␈↓␈↓ λ∞combination␈α!but␈α!not␈α!the␈α!three
␈↓ ↓N␈↓␈↓ αncharacters. The end of a line of ␈↓ π∞␈↓␈↓ λ∞together␈α
as␈α
required␈α
in␈α
the␈α
command
␈↓ ↓N␈↓␈↓ αntext is denoted by a <NL> ␈↓ π∞␈↓␈↓ λ∞or␈α⊗the␈α⊗arguments␈α⊗are␈α⊗not␈α↔in␈α⊗the
␈↓ ↓N␈↓␈↓ αncharacter. ␈↓ π∞␈↓␈↓ λ∞correct order, etc.
␈↓ ↓N␈↓␈↓ α∞IMAGE Data consist of a stream of ␈↓ π∞␈↓α␈↓ λ≠FTP Service Commands␈↓
␈↓ ↓N␈↓␈↓ αncontiguous bits that should be
␈↓ ↓N␈↓␈↓ αntaken in contiguous groups of size ␈↓ π∞␈↓VI. (RETRIEVE <for-path-name>)
␈↓ ↓N␈↓␈↓ αngiven by the value of <byte-size>.
␈↓ ↓N␈↓␈↓ αnThis type is intended for e≠cient ␈↓ π∞␈↓This␈αcommand␈αtells␈α
the␈αserver␈αto␈αsend␈α
the␈α≡le
␈↓ ↓N␈↓␈↓ αntransmission between similar ␈↓ π∞␈↓speci≡ed␈α~by␈α~<for-path-name>␈α~to␈α≠the␈α~user.
␈↓ ↓N␈↓␈↓ αnmachines. ␈↓ π∞␈↓Upon␈α⊗receiving␈α⊗it,␈α⊗the␈α⊗output␈α⊗side␈α⊗of␈α⊗the
␈↓ π∞␈↓server's␈α⊃program␈α⊂should␈α⊃look␈α⊂for␈α⊃this␈α⊃≡le␈α⊂in
␈↓ ↓N␈↓␈↓ ↓n<structure> may be:
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ T16
␈↓ ↓N␈↓the␈αserver's␈α≡le␈αsystem.␈α
Then␈αit␈αwill␈αreport␈α
the ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))
␈↓ ↓N␈↓result␈α∪of␈α∀the␈α∪lookup␈α∀operation␈α∪(so␈α∀that␈α∪the
␈↓ ↓N␈↓user's␈α→program␈α~can␈α→be␈α→informed)␈α~and,␈α→if ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓successful,␈α
will␈α
start␈α
transmitting.␈α
At␈α∞the␈α
end,
␈↓ ↓N␈↓a␈α_report␈α_about␈α↔the␈α_result␈α_of␈α_the␈α↔transfer ␈↓ π∞␈↓Secondary replies:
␈↓ ↓N␈↓operation will also be emitted.
␈↓ π∞␈↓␈↓ π.␈↓↓(DONE (<text>))␈↓
␈↓ ↓N␈↓Primary replies:
␈↓ π∞␈↓␈↓ π.The␈α∂transfer␈α∂is␈α∂≡nished␈α∂(an␈α∂end-of-≡le␈α∂has
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (<text>))␈↓ ␈↓ π∞␈↓␈↓ λ∞been␈α∃received).␈α∀ The␈α∃≡le␈α∃is␈α∀closed
␈↓ π∞␈↓␈↓ λ∞and so is data channel 2.
␈↓ ↓N␈↓␈↓ ↓nThe␈α⊂lookup␈α⊃succeeded␈α⊂and␈α⊂the␈α⊃server␈α⊂has
␈↓ ↓N␈↓␈↓ αNstarted sending the ≡le. ␈↓ π∞␈↓␈↓ π.␈↓↓(STOPPED (<text>))␈↓
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(BUSY (<reason>)) ␈↓ π∞␈↓␈↓ π.Channel␈α≠2␈α≠closed␈α≠before␈α≠an␈α≠end-of-≡le
␈↓ π∞␈↓␈↓ λ∞arrived.␈α∀The␈α∀part␈α∀of␈α∀the␈α∀≡le␈α∪that
␈↓ ↓N␈↓↓␈↓ ↓n(FAILED (<reason>))␈↓ ␈↓ π∞␈↓␈↓ λ∞had␈α⊃already␈α⊃been␈α⊃received␈α∩(if␈α⊃any)
␈↓ π∞␈↓␈↓ λ∞will␈α⊗not␈α↔be␈α⊗saved.␈α↔ The␈α⊗STORE
␈↓ ↓N␈↓ Secondary replies: ␈↓ π∞␈↓␈↓ λ∞command will not have any e≥ect.
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(DONE (<text>))␈↓
␈↓ π∞␈↓VIII. (APPEND <for-path-name>)
␈↓ ↓N␈↓␈↓ ↓nThe␈α~transfer␈α~is␈α~≡nished␈α~and␈α≠the␈α~data
␈↓ ↓N␈↓␈↓ αNchannel closed. ␈↓ π∞␈↓This␈αcommand␈αtells␈αthe␈αserver␈αto␈αopen␈αthe␈α≡le
␈↓ π∞␈↓speci≡ed␈α∀by␈α∪<for-path-name>␈α∀for␈α∀input␈α∪and
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(STOPPED (<text>))␈↓ ␈↓ π∞␈↓append␈α∞to␈α∞it␈α∞the␈α∞data␈α∞that␈α∞the␈α∞user␈α∞will␈α∞send
␈↓ π∞␈↓thru␈α∪channel␈α∪2.␈α∪ If␈α∪no␈α∪≡le␈α∪exists␈α∀with␈α∪that
␈↓ ↓N␈↓␈↓ ↓nChannel␈α∂1␈α∂was␈α∞closed␈α∂before␈α∂an␈α∞end-of-≡le ␈↓ π∞␈↓name␈α∞this␈α∞command␈α∞will␈α∞have␈α∞the␈α∞e≥ect␈α∂of␈α∞a
␈↓ ↓N␈↓␈↓ αNhad␈α∩arrived.␈α∪ The␈α∩part␈α∩of␈α∪the␈α∩≡le ␈↓ π∞␈↓STORE command.
␈↓ ↓N␈↓␈↓ αNthat␈α
had␈α
already␈α
been␈αtransmitted␈α
(if
␈↓ ↓N␈↓␈↓ αNany)␈α~will␈α~not␈α~be␈α~saved,␈α~i.e.␈α→the ␈↓ π∞␈↓Primary replies:
␈↓ ↓N␈↓␈↓ αNRETRIEVE␈αcommand␈αwill␈αnot␈α
have
␈↓ ↓N␈↓␈↓ αNany e≥ect. ␈↓ π∞␈↓␈↓ π.␈↓↓(OK (<text>))␈↓
␈↓ π∞␈↓␈↓ π.The ≡le has been found or created.
␈↓ ↓N␈↓VII. (STORE <for-path-name>)
␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))
␈↓ ↓N␈↓The␈α∩server␈α∩should␈α∪open␈α∩a␈α∩≡le␈α∪named␈α∩<for-
␈↓ ↓N␈↓path-name>␈α∞and␈α∂store␈α∞in␈α∞it␈α∂the␈α∞data␈α∂that␈α∞the ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓user␈αwill␈αsend.␈αIf␈αa␈α≡le␈αwith␈αthat␈αname␈αalready
␈↓ ↓N␈↓exists␈α
at␈α∞the␈α
server␈α
site␈α∞it␈α
will␈α∞be␈α
overwritten, ␈↓ π∞␈↓␈↓ π.Secondary replies:
␈↓ ↓N␈↓otherwise the server should create it.
␈↓ π∞␈↓␈↓ π.␈↓↓(DONE (<text>))␈↓
␈↓ ↓N␈↓Primary replies:
␈↓ π∞␈↓␈↓ π.The␈α∂transfer␈α∂is␈α∂≡nished␈α∂(an␈α∂end-of-≡le␈α∂has
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (<text>))␈↓ ␈↓ π∞␈↓␈↓ λ∞been␈α∃received).␈α∀ The␈α∃≡le␈α∃is␈α∀closed
␈↓ π∞␈↓␈↓ λ∞and so is data channel 2.
␈↓ ↓N␈↓␈↓ ↓nThe␈α⊃≡le␈α⊃has␈α⊂been␈α⊃found␈α⊃or␈α⊃created.␈α⊂ The
␈↓ ↓N␈↓␈↓ αNserver␈α⊃is␈α⊃ready␈α⊃to␈α⊃receive␈α⊃the␈α⊃data ␈↓ π∞␈↓␈↓ π.␈↓↓(STOPPED (<text>))␈↓
␈↓ ↓N␈↓␈↓ αNthru channel 2.
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ T17
␈↓ ↓N␈↓␈↓ ↓nChannel␈α∂2␈α∞has␈α∂been␈α∞closed␈α∂before␈α∂an␈α∞end- ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓␈↓ αNof-≡le␈α∂has␈α∂arrived.␈α∂The␈α∂part␈α⊂of␈α∂the
␈↓ ↓N␈↓␈↓ αN≡le␈α⊃that␈α⊂had␈α⊃already␈α⊃been␈α⊂received
␈↓ ↓N␈↓␈↓ αN(if␈α↔any)␈α↔will␈α⊗not␈α↔be␈α↔saved.␈α⊗ The ␈↓ π∞␈↓XI. (DELETE <for-path-name>)
␈↓ ↓N␈↓␈↓ αNAPPEND␈α∪command␈α∪will␈α∪not␈α∩have
␈↓ ↓N␈↓␈↓ αNany e≥ect. ␈↓ π∞␈↓The␈α⊗server␈α↔is␈α⊗instructed␈α↔to␈α⊗delete␈α↔the␈α⊗≡le
␈↓ π∞␈↓speci≡ed by <for-path-name>.
␈↓ ↓N␈↓IX. (ABORT) ␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓This␈α∩command␈α∪tells␈α∩the␈α∪server␈α∩that␈α∪the␈α∩≡le ␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓
␈↓ ↓N␈↓transfer␈α⊂requested␈α⊂by␈α⊂the␈α⊂previous␈α⊂command
␈↓ ↓N␈↓has␈α~been␈α→cancelled.␈α~For␈α→that␈α~purpose␈α→an ␈↓ π∞␈↓␈↓ π.The ≡le has been deleted.
␈↓ ↓N␈↓interrupt␈α⊂packet␈α⊂is␈α⊂sent␈α⊂to␈α⊂the␈α⊂server␈α⊂on␈α∂the
␈↓ ↓N␈↓data␈α$channel.␈α#Because␈α$the␈α$server␈α#was ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))
␈↓ ↓N␈↓attending␈α∩that␈α∩channel,␈α∩it␈α∩will␈α∩recognize␈α⊃the
␈↓ ↓N␈↓packet,␈α⊗terminate␈α⊗any␈α⊗data␈α⊗transmission␈α⊗or ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓reception␈α≡and␈α≡turn␈α≡its␈α≡attention␈α∨to␈α≡the
␈↓ ↓N␈↓command␈α∂channel.␈α∞ Any␈α∂data␈α∞received␈α∂so␈α∞far
␈↓ ↓N␈↓will␈αbe␈αdiscarded.␈αThe␈αprevious␈αcommand␈αwill ␈↓ π∞␈↓XI. (DIRECTORY <for-dir-name>)
␈↓ ↓N␈↓have␈αno␈αe≥ect␈αon␈αthe␈α≡les␈αof␈αeither␈αthe␈αuser␈α
or
␈↓ ↓N␈↓the␈α∃server.␈α∀ Had␈α∃the␈α∀transfer␈α∃already␈α∀been ␈↓ π∞␈↓This␈αcommand␈αasks␈α
the␈αserver␈αfor␈α
a␈αlist␈αof␈α
the
␈↓ ↓N␈↓completed␈α∪and␈α∪the␈α∪data␈α∪channel␈α∪closed,␈α∩the ␈↓ π∞␈↓≡les␈α⊗in␈α↔the␈α⊗directory␈α⊗speci≡ed␈α↔by␈α⊗<for-dir-
␈↓ ↓N␈↓receiver␈α
would␈α∞have␈α
already␈α∞closed␈α
the␈α∞≡le␈α
in ␈↓ π∞␈↓name>.␈α∂If␈α∂no␈α∞argument␈α∂is␈α∂given␈α∞a␈α∂list␈α∂of␈α∞the
␈↓ ↓N␈↓its␈α↔≡le␈α↔system␈α_and␈α↔no␈α↔abortion␈α_would␈α↔be ␈↓ π∞␈↓≡les␈α
in␈αthe␈α
log-in␈α
directory␈αshould␈α
be␈αsent.␈α
The
␈↓ ↓N␈↓possible. ␈↓ π∞␈↓information␈α∃will␈α∃be␈α∃contained␈α∃in␈α∃the␈α∀reply
␈↓ π∞␈↓(sent thru the command channel).
␈↓ ↓N␈↓Only␈α∃≡le␈α∃transfers␈α∃can␈α∃be␈α∃aborted␈α∃because
␈↓ ↓N␈↓there␈α
is␈α
no␈α
control␈α
on␈α
the␈α
other␈α
services␈α
from ␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓the␈α%very␈α$≡rst␈α%moment␈α$in␈α%which␈α$the
␈↓ ↓N␈↓corresponding command is issued. ␈↓ π∞␈↓␈↓ π.␈↓↓(OK <≡le-list>)␈↓
␈↓ ↓N␈↓Replies: ␈↓ π∞␈↓␈↓ π.<≡le-list>␈α∪is␈α∪the␈α∪requested␈α∪list␈α∪of␈α∀≡les.␈α∪ It
␈↓ π∞␈↓␈↓ λ∞should␈α_be␈α→passed␈α_directly␈α→to␈α_the
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK) ␈↓ π∞␈↓␈↓ λ∞human user.
␈↓ ↓N␈↓↓␈↓ ↓n(FAILED (<reason>))␈↓ ␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<reason>))␈↓
␈↓ ↓N␈↓X.␈α! (RENAME␈α!<for-path-name1>␈α!TO ␈↓ π∞␈↓XII. (STATUS)
␈↓ ↓N␈↓<for-path-name2>)
␈↓ π∞␈↓With␈α∨this␈α∨command␈α∨the␈α∨user␈α∨asks␈α∨for
␈↓ ↓N␈↓The␈α
server␈α
is␈α
instructed␈α
to␈α
change␈α
the␈αname␈α
of ␈↓ π∞␈↓whatever␈α
information␈α∞the␈α
server␈α
may␈α∞want␈α
to
␈↓ ↓N␈↓<for-path-name1> to <for-path-name2>. ␈↓ π∞␈↓send␈αhim.␈α It␈αmay␈αbe␈αissued␈αat␈αany␈αtime.␈α The
␈↓ π∞␈↓information␈αwill␈αbe␈αsent␈αas␈αa␈αreply␈αon␈αchannel
␈↓ ↓N␈↓Replies: ␈↓ π∞␈↓0␈α∃(the␈α∃command␈α∀channel!)␈α∃and␈α∃is␈α∀intended
␈↓ π∞␈↓exclusively for human users.
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK)
␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓↓␈↓ ↓n(BUSY (<reason>))
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ S18
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK <information-list>))␈↓ ␈↓ π∞␈↓␈↓ π.DATA␈α↔¬␈α⊗an␈α↔arbitrary␈α⊗amount␈α↔of␈α⊗data
␈↓ π∞␈↓␈↓ λ∞which␈αis␈αeither␈αused␈αas␈αarguments␈α
in
␈↓ ↓N␈↓␈↓ ↓nThe␈α∨contents␈α≡of␈α∨the␈α≡<information-list> ␈↓ π∞␈↓␈↓ λ∞the␈α
Host-Host␈αprotocol␈α
or␈αas␈α
data␈αto
␈↓ ↓N␈↓␈↓ αNshould␈αbe␈αdirectly␈αsent␈αto␈αthe␈α
human ␈↓ π∞␈↓␈↓ λ∞be␈α~passed␈α~to␈α~a␈α~process␈α~utilizing
␈↓ ↓N␈↓␈↓ αNuser␈α∪for␈α∀its␈α∪interpretation.␈α∀This␈α∪is ␈↓ π∞␈↓␈↓ λ∞␈↓↓Dialnet␈↓.
␈↓ ↓N␈↓␈↓ αNthe only legal reply.
␈↓ π∞␈↓␈↓ π.DATA␈α∨COUNT␈α∨¬␈α∨a␈α∨8.-bit␈α∨quantity
␈↓ π∞␈↓␈↓ λ∞indicating␈α∪how␈α∀many␈α∪bytes␈α∀are␈α∪in
␈↓ ↓N␈↓α␈↓ β09. Glossary ␈↓ π∞␈↓␈↓ λ∞the␈αdata␈α≡eld␈αof␈αthe␈αpacket␈αafter␈αthe
␈↓ π∞␈↓␈↓ λ∞≡rst data byte.
␈↓ ↓N␈↓The␈α
following␈α
terms␈α
are␈α
used␈α
in␈αthis␈α
document
␈↓ ↓N␈↓and are de≡ned here to remove ambiguity: ␈↓ π∞␈↓␈↓ π.␈↓↓Dialnet␈↓␈α∀¬␈α∪a␈α∀communications␈α∀protocol␈α∪for
␈↓ π∞␈↓␈↓ λ∞data␈α∨transmission␈α over␈α∨standard
␈↓ ↓N␈↓␈↓ ↓nACKNOWLEDGEMENT␈α"¬␈α#an␈α"8.-bit ␈↓ π∞␈↓␈↓ λ∞phone␈α⊃lines.␈α⊃ This␈α⊃term␈α∩also␈α⊃refers
␈↓ ↓N␈↓␈↓ αNquantity␈α∩which␈α∩speci≡es␈α∩the␈α∩packet ␈↓ π∞␈↓␈↓ λ∞informally␈α∞to␈α∞the␈α
set␈α∞of␈α∞hosts␈α
which
␈↓ ↓N␈↓␈↓ αNsequence␈α≠number␈α≠of␈α≠the␈α≠highest ␈↓ π∞␈↓␈↓ λ∞implement ␈↓↓Dialnet␈↓.
␈↓ ↓N␈↓␈↓ αNconsecutive␈α∩packet␈α∩which␈α∩has␈α⊃been
␈↓ ↓N␈↓␈↓ αNsuccessfully␈α?␈α↔received.␈α?␈α↔ An ␈↓ π∞␈↓␈↓ π.EOP␈α⊂¬␈α⊂a␈α⊂marker␈α∂used␈α⊂to␈α⊂indicate␈α⊂end␈α∂of
␈↓ ↓N␈↓␈↓ αNacknowledgement␈α≠implies␈α≤that␈α≠all ␈↓ π∞␈↓␈↓ λ∞packet.␈α≤ EOP␈α≠consists␈α≤of␈α≠ASCII
␈↓ ↓N␈↓␈↓ αNpackets␈α1with␈α2lower␈α1sequence ␈↓ π∞␈↓␈↓ λ∞DLE␈α⊂(220)␈α∂followed␈α⊂by␈α⊂ETX␈α∂(202).
␈↓ ↓N␈↓␈↓ αNnumbers have been received as well. ␈↓ π∞␈↓␈↓ λ∞It␈α⊃is␈α⊃a␈α⊂violation␈α⊃of␈α⊃packet␈α⊂framing
␈↓ π∞␈↓␈↓ λ∞for␈α⊃a␈α⊃packet␈α⊃to␈α⊃end␈α∩with␈α⊃anything
␈↓ ↓N␈↓␈↓ ↓nBYTE␈α¬␈α
an␈α8.-bit␈αquantity.␈α
While␈α␈↓↓Dialnet␈↓ ␈↓ π∞␈↓␈↓ λ∞other␈α
than␈αan␈α
EOP.␈α A␈α
packet␈αis␈α
not
␈↓ ↓N␈↓␈↓ αNtransmissions␈αare␈α
to␈αbe␈αconsidered␈α
as ␈↓ π∞␈↓␈↓ λ∞completely␈α∪received␈α∪until␈α∀this␈α∪code
␈↓ ↓N␈↓␈↓ αNa␈α$bit␈α#stream,␈α$this␈α$concept␈α#is ␈↓ π∞␈↓␈↓ λ∞has␈α∀been␈α∃received.␈α∀ Note␈α∃that␈α∀the
␈↓ ↓N␈↓␈↓ αNconvenient to use for many reasons. ␈↓ π∞␈↓␈↓ λ∞200␈α∂bit␈α∞must␈α∂be␈α∞set␈α∂for␈α∞an␈α∂EOP␈α∞to
␈↓ π∞␈↓␈↓ λ∞be recognized as such.
␈↓ ↓N␈↓␈↓ ↓nBYTE␈α
SIZE␈α¬␈α
this␈αrefers␈α
to␈αthe␈α
byte␈αsize␈α
of
␈↓ ↓N␈↓␈↓ αNdata␈α⊂as␈α⊂seen␈α⊂by␈α⊂the␈α⊂host␈α∂computer. ␈↓ π∞␈↓␈↓ π.HOST␈α
¬␈α∞a␈α
system␈α∞with␈α
␈↓↓Dialnet␈↓-compatible
␈↓ ↓N␈↓␈↓ αNAll␈α∂␈↓↓Dialnet␈↓␈α∞transmissions␈α∂should␈α∞be ␈↓ π∞␈↓␈↓ λ∞modems␈α?and␈α>␈↓↓Dialnet␈↓-support
␈↓ ↓N␈↓␈↓ αNconsidered␈α∩bit␈α∩stream␈α∩transmissions ␈↓ π∞␈↓␈↓ λ∞software␈α
which␈α
knows␈α
the␈α
telephone
␈↓ ↓N␈↓␈↓ αNsent in units of 8.-bit bytes. ␈↓ π∞␈↓␈↓ λ∞number of at least one other host.
␈↓ ↓N␈↓␈↓ ↓nCHANNEL␈α
¬␈αan␈α
8.-bit␈αquantity␈α
identifying ␈↓ π∞␈↓␈↓ π.HOST-HOST␈α*PROTOCOL␈α*¬␈α)The
␈↓ ↓N␈↓␈↓ αNwhich␈α!data␈α!stream␈α"this␈α!packet ␈↓ π∞␈↓␈↓ λ∞protocol␈α2which␈α2provides␈α2for
␈↓ ↓N␈↓␈↓ αNbelongs␈α to.␈α Channels␈α have␈α no ␈↓ π∞␈↓␈↓ λ∞compatible␈α⊗communication␈α∃between
␈↓ ↓N␈↓␈↓ αNmeaning␈α∃to␈α∀the␈α∃host-host␈α∀protocol, ␈↓ π∞␈↓␈↓ λ∞two␈α
processes␈α
running␈α
on␈α(probably)
␈↓ ↓N␈↓␈↓ αNonly␈α#to␈α"higher␈α#level␈α"protocols. ␈↓ π∞␈↓␈↓ λ∞dissimilar hosts.
␈↓ ↓N␈↓␈↓ αNChannel␈α⊂0␈α⊃is␈α⊂the␈α⊃channel␈α⊂normally
␈↓ ↓N␈↓␈↓ αNused. ␈↓ π∞␈↓␈↓ π.LINE␈α⊃TRANSMISSION␈α⊃PROTOCOL␈α⊂¬
␈↓ π∞␈↓␈↓ λ∞The␈α_protocol␈α_which␈α_provides␈α_for
␈↓ ↓N␈↓␈↓ ↓nCHECKSUM␈α*¬␈α*a␈α+16.-bit␈α*quantity ␈↓ π∞␈↓␈↓ λ∞error␈α∂free␈α∂transmission␈α∂between␈α∞two
␈↓ ↓N␈↓␈↓ αNcontaining␈α∂a␈α∂packet␈α⊂checksum,␈α∂used ␈↓ π∞␈↓␈↓ λ∞hosts␈α
with␈α
a␈α
common␈α∞modem␈α
which
␈↓ ↓N␈↓␈↓ αNin error detection. ␈↓ π∞␈↓␈↓ λ∞use the Host-Host protocol.
␈↓ ↓N␈↓␈↓ ↓nCONNECTION␈α→¬␈α→a␈α→logical␈α→connection ␈↓ π∞␈↓␈↓ π.OP␈α∂CODE␈α∂¬␈α∂a␈α∂␈↓↓Dialnet␈↓␈α∂host-host␈α∂protocol
␈↓ ↓N␈↓␈↓ αNbetween␈α∂two␈α∂processes.␈α∞ Connections ␈↓ π∞␈↓␈↓ λ∞operation code.
␈↓ ↓N␈↓␈↓ αNare bidirectional.
␈↓ π∞␈↓␈↓ π.PACKET␈α ¬␈α a␈α∨logical␈α unit␈α of␈α∨data
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε%Glossary␈↓ T19
␈↓ ↓N␈↓␈↓ αNtransmitted␈α≤over␈α≤a␈α≤␈↓↓Dialnet␈↓␈α≤link. ␈↓ π∞␈↓␈↓ π.TIMEOUT␈α
¬␈α
A␈α∞delay␈α
time␈α
for␈α∞a␈α
speci≡ed
␈↓ ↓N␈↓␈↓ αNThe␈αpacket␈αis␈αthe␈αelementary␈αunit␈αof ␈↓ π∞␈↓␈↓ λ∞action.␈α∀ If␈α∀the␈α∀desired␈α∀action␈α∀does
␈↓ ↓N␈↓␈↓ αN␈↓↓Dialnet␈↓␈α∩transmissions.␈α∩ A␈α∩packet␈α∩is ␈↓ π∞␈↓␈↓ λ∞not␈α∂occur␈α∂within␈α∂a␈α∂speci≡ed␈α∂time,␈α∂a
␈↓ ↓N␈↓␈↓ αNbasically␈α∃data␈α∃with␈α∃a␈α⊗header␈α∃and ␈↓ π∞␈↓␈↓ λ∞"timeout" action is taken.
␈↓ ↓N␈↓␈↓ αNtrailer.
␈↓ π∞␈↓␈↓ π.USER␈α∩¬␈α∩the␈α∩initially␈α∩active␈α∩process␈α∪in␈α∩a
␈↓ ↓N␈↓␈↓ ↓nPACKET␈α∞FRAMING␈α∞¬␈α∞a␈α∂technique␈α∞used ␈↓ π∞␈↓␈↓ λ∞connection.
␈↓ ↓N␈↓␈↓ αNin␈α~the␈α~line␈α~transmission␈α~protocol
␈↓ ↓N␈↓␈↓ αNwhich␈α
requires␈α∞that␈α
all␈α∞packets␈α
start ␈↓ π∞␈↓␈↓ π.WINDOW␈α⊂¬␈α⊃The␈α⊂margin␈α⊂for␈α⊃packets␈α⊂vs.
␈↓ ↓N␈↓␈↓ αNwith␈α∞an␈α∞SOP␈α∞marker␈α∞and␈α∞end␈α
with ␈↓ π∞␈↓␈↓ λ∞their␈α#acknowledgements␈α$so␈α#that
␈↓ ↓N␈↓␈↓ αNan␈α
EOP␈α
marker.␈α
A␈α
packet␈α
must␈αbe ␈↓ π∞␈↓␈↓ λ∞acknowledgements␈αdo␈αnot␈αhave␈αto␈α
be
␈↓ ↓N␈↓␈↓ αNproperly␈α"framed␈α"for␈α"it␈α"to␈α"be ␈↓ π∞␈↓␈↓ λ∞completely synchronous with packets.
␈↓ ↓N␈↓␈↓ αNconsidered␈α↔to␈α↔have␈α↔been␈α⊗received
␈↓ ↓N␈↓␈↓ αNcorrectly.␈α⊂ Framing␈α⊂errors␈α⊂cause␈α⊂the ␈↓ π∞␈↓␈↓ π.WINDOW␈αSIZE␈α¬␈αThe␈αmaximum␈αnumber
␈↓ ↓N␈↓␈↓ αNpacket␈α
in␈α
progress␈α
and␈α
all␈α
succeeding ␈↓ π∞␈↓␈↓ λ∞of␈α↔unacknowledged␈α_packets␈α↔which
␈↓ ↓N␈↓␈↓ αNdata␈αto␈αbe␈α
discarded␈αuntil␈αframing␈α
is ␈↓ π∞␈↓␈↓ λ∞may␈α
be␈α
pending␈α
at␈α
any␈α
time.␈α
This␈α
is
␈↓ ↓N␈↓␈↓ αNrestored. ␈↓ π∞␈↓␈↓ λ∞similar␈α⊂to␈α⊃what␈α⊂the␈α⊃ARPAnet␈α⊂calls
␈↓ π∞␈↓␈↓ λ∞"message allocation".
␈↓ ↓N␈↓␈↓ ↓nPACKET␈α∂NUMBER␈α∂¬␈α∂an␈α⊂8.-bit␈α∂quantity
␈↓ ↓N␈↓␈↓ αNwhich␈αuniquely␈αidenti≡es␈αa␈αpacket␈αat
␈↓ ↓N␈↓␈↓ αNa␈α
given␈α
point␈α
in␈α
time.␈α
This␈α
is␈α
used
␈↓ ↓N␈↓␈↓ αNto␈α∀identify␈α∀packets␈α∀if␈α∀necessary␈α∀in
␈↓ ↓N␈↓␈↓ αNerror␈αrecovery.␈α Packet␈αnumbers␈α
may
␈↓ ↓N␈↓␈↓ αNbe␈α∃recycled␈α∀after␈α∃both␈α∃hosts␈α∀have
␈↓ ↓N␈↓␈↓ αNagreed␈α_that␈α_the␈α_packet␈α↔associated
␈↓ ↓N␈↓␈↓ αNwith␈α∩this␈α∩packet␈α∩number␈α∩has␈α∩been
␈↓ ↓N␈↓␈↓ αNcorrectly sent and received.
␈↓ ↓N␈↓␈↓ ↓nPROCESS␈α∀¬␈α∀an␈α∀entity␈α∃utilizing␈α∀␈↓↓Dialnet␈↓.
␈↓ ↓N␈↓␈↓ αN␈↓↓Dialnet␈↓␈α?␈α↓tra≠c␈α?␈α↓consists␈α?of
␈↓ ↓N␈↓␈↓ αNcommunications between processes.
␈↓ ↓N␈↓␈↓ ↓nPROCESS␈α⊃ID␈α∩¬␈α⊃an␈α⊃8.-byte␈α∩ASCII␈α⊃string
␈↓ ↓N␈↓␈↓ αNwhich␈α
uniquely␈α
identi≡es␈α
the␈α
process.
␈↓ ↓N␈↓␈↓ αNSee␈α$the␈α#ICP␈α$and␈α#higher-level
␈↓ ↓N␈↓␈↓ αNprotocols for process-ID conventions.
␈↓ ↓N␈↓␈↓ ↓nSERVER␈α∞¬␈α
the␈α∞initially␈α
passive␈α∞process␈α
in
␈↓ ↓N␈↓␈↓ αNa connection.
␈↓ ↓N␈↓␈↓ ↓nSOP␈α∂¬␈α∂a␈α∂marker␈α∂used␈α∂to␈α∂indicate␈α∂start␈α∂of
␈↓ ↓N␈↓␈↓ αNpacket.␈α
SOP␈α
consists␈α
of␈α
ASCII␈α
DLE
␈↓ ↓N␈↓␈↓ αN(220)␈αfollowed␈αby␈αSTX␈α(203).␈α It␈αis␈αa
␈↓ ↓N␈↓␈↓ αNviolation␈α∀of␈α∃packet␈α∀framing␈α∃for␈α∀a
␈↓ ↓N␈↓␈↓ αNpacket␈α
to␈α
begin␈α
with␈α
anything␈α
other
␈↓ ↓N␈↓␈↓ αNthan␈α∪an␈α∩SOP.␈α∪ Any␈α∪data␈α∩received
␈↓ ↓N␈↓␈↓ αNwhen␈αan␈αSOP␈αis␈αexpected␈αshould␈αbe
␈↓ ↓N␈↓␈↓ αNdiscarded.␈α⊗ Note␈α⊗that␈α⊗the␈α⊗200␈α∃bit
␈↓ ↓N␈↓␈↓ αNmust␈α_be␈α_set␈α_for␈α_an␈α_SOP␈α→to␈α_be
␈↓ ↓N␈↓␈↓ αNrecognized as such.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ R20
␈↓ ↓N␈↓α␈↓ β*Appendix D ␈↓ π∞␈↓them␈α
entirely.␈α Instead,␈α
messages␈α
are␈αsent␈α
using
␈↓ ↓N␈↓α␈↓ β$Mail protocol ␈↓ π∞␈↓a␈αmail␈αprotocol.␈α Each␈αhost␈αis␈αonly␈αrequired␈αto
␈↓ π∞␈↓implement␈α∃what␈α∃parts␈α∀of␈α∃the␈α∃protocol␈α∀they
␈↓ ↓N␈↓↓␈↓ αCby Mark Crispin 3/27/78 ␈↓ π∞␈↓require␈α_after␈α→a␈α_certain␈α→common␈α_minimum
␈↓ π∞␈↓subset.␈α⊃ If␈α⊃a␈α⊃host␈α⊃wishes␈α⊃to␈α⊃have␈α∩a␈α⊃message
␈↓ ↓N␈↓The␈α∪host-host␈α∪protocol␈α∪described␈α∪in␈α∪Dialnet ␈↓ π∞␈↓heading␈α→(as␈α→well␈α_it␈α→might,␈α→since␈α_valuable
␈↓ ↓N␈↓memo␈α
2␈αdocuments␈α
a␈αmechanism␈α
for␈α
hosts␈αto ␈↓ π∞␈↓information␈α⊃such␈α∩as␈α⊃whom␈α⊃the␈α∩message␈α⊃was
␈↓ ↓N␈↓establish␈α∂an␈α∂error-free␈α∂data␈α∂link␈α∂between␈α∞two ␈↓ π∞␈↓from␈α∂is␈α∂contained␈α∞therein),␈α∂it␈α∂may␈α∂generate␈α∞a
␈↓ ↓N␈↓cooperating␈αprocesses.␈α This␈αprotocol,␈α
however, ␈↓ π∞␈↓header in any format.
␈↓ ↓N␈↓is␈α$insu≠cient␈α$to␈α$specify␈α#communication
␈↓ ↓N␈↓between␈α∂dissimilar␈α∂mail␈α∂processes␈α∂in␈α∂di≥erent ␈↓ π∞␈↓Keeping␈αthis␈αin␈αmind,␈αa␈αmethod␈αof␈αexpressing
␈↓ ↓N␈↓hosts.␈α" The␈α#processes␈α"must␈α#have␈α"some ␈↓ π∞␈↓such␈α∀information␈α∀in␈α∀a␈α∀clearly␈α∀unambiguous
␈↓ ↓N␈↓agreement␈α
as␈α
to␈αthe␈α
format␈α
messages␈αshould␈α
be ␈↓ π∞␈↓and␈αreadily␈αmachine-parsable␈αway␈αwas␈αsought.
␈↓ ↓N␈↓in,␈α∃and␈α⊗how␈α∃mail␈α∃addressing␈α⊗and␈α∃delivery ␈↓ π∞␈↓The␈αLISP␈αsyntax␈αof␈αS-expressions␈αwas␈αchosen,
␈↓ ↓N␈↓should be handled. ␈↓ π∞␈↓due to its extreme versatility.
␈↓ ↓N␈↓The␈αARPAnet␈αimplements␈αmail␈αas␈αpart␈αof␈αthe ␈↓ π∞␈↓In␈α≠the␈α≠mail␈α~protocol,␈α≠the␈α≠user␈α≠sends␈α~S-
␈↓ ↓N␈↓≡le␈α%transfer␈α%protocol.␈α% This␈α%has␈α%some ␈↓ π∞␈↓expressions␈α
as␈αcommands␈α
to␈αthe␈α
server,␈αwhich
␈↓ ↓N␈↓advantages␈α⊂and␈α∂disadvantages.␈α⊂ A␈α∂short-term ␈↓ π∞␈↓replies␈αin␈αturn␈αusing␈αS-expressions.␈α No␈αactual
␈↓ ↓N␈↓advantage␈αof␈αthis␈αform␈αof␈αmailing␈αis␈αthat␈αit␈αis ␈↓ π∞␈↓LISP␈α⊃evaluating␈α⊃is␈α⊂actually␈α⊃done;␈α⊃all␈α⊃that␈α⊂is
␈↓ ↓N␈↓relatively␈αsimple␈αto␈αimplement␈αand␈αinterface␈αto ␈↓ π∞␈↓needed␈α
is␈α
a␈α
"LISP␈α
reader"␈α
which␈α
can␈α
recognize
␈↓ ↓N␈↓an␈α∪existing␈α∩mail␈α∪system␈α∩if␈α∪the␈α∪current␈α∩mail ␈↓ π∞␈↓an␈αS-expression␈αand␈αbe␈αable␈αto␈αdistinguish␈αthe
␈↓ ↓N␈↓system␈α⊗already␈α⊗uses␈α⊗something␈α∃approaching ␈↓ π∞␈↓CAR and CDR of an expression.
␈↓ ↓N␈↓the standard format.
␈↓ π∞␈↓For␈α→those␈α~unfamiliar␈α→with␈α→LISP,␈α~a␈α→brief
␈↓ ↓N␈↓In␈α∀the␈α∀long␈α∀term,␈α∀however,␈α∀many␈α∪problems ␈↓ π∞␈↓introduction␈αto␈αthe␈αsyntax␈αis␈αon␈αthe␈αnext␈αpage.
␈↓ ↓N␈↓have␈α∞arisen␈α∂as␈α∞increasingly,␈α∞more␈α∂varieties␈α∞of ␈↓ π∞␈↓It␈αis␈α
not␈αintended␈αto␈α
be␈αa␈αdescription␈α
of␈αLISP
␈↓ ↓N␈↓mail␈α∂formats␈α⊂have␈α∂appeared␈α∂and␈α⊂more␈α∂hairy ␈↓ π∞␈↓syntax,␈α∂but␈α∂rather␈α∂the␈α∂"LISPese"␈α∂syntax␈α∞used
␈↓ ↓N␈↓mail␈α⊂reading␈α⊂programs␈α⊂have␈α⊂been␈α⊂written␈α⊂to ␈↓ π∞␈↓by Dialnet mail.
␈↓ ↓N␈↓parse␈αthese␈αformats.␈α It␈αwould␈αbe␈αshort-sighted
␈↓ ↓N␈↓to␈α⊃assume␈α∩that␈α⊃this␈α∩would␈α⊃not␈α∩happen␈α⊃with
␈↓ ↓N␈↓Dialnet␈α∨mail␈α∨as␈α≡well.␈α∨ In␈α∨addition,␈α≡the ␈↓ π∞␈↓α␈↓ λs10. Syntax
␈↓ ↓N␈↓ARPAnet␈α↔mail␈α⊗formats␈α↔leave␈α⊗much␈α↔to␈α⊗be
␈↓ ↓N␈↓desired. ␈↓ π∞␈↓The␈α∂mail␈α⊂protocol␈α∂consists␈α∂of␈α⊂an␈α∂interchange
␈↓ π∞␈↓of␈α~S-expressions,␈α~which␈α~are␈α≠things␈α~inside
␈↓ ↓N␈↓First,␈α∪they␈α∪are␈α∪in␈α∩the␈α∪format␈α∪of␈α∪a␈α∩business ␈↓ π∞␈↓balanced␈α∂parenthesis.␈α∂ Parenthesis␈α∂are␈α∂special
␈↓ ↓N␈↓memorandum,␈α
leading␈α
many␈α
to␈αthe␈α
assumption ␈↓ π∞␈↓characters␈α
in␈α
all␈α
cases.␈α
In␈α
order␈α
for␈α
them␈αto␈α
be
␈↓ ↓N␈↓that␈α∞a␈α∞business␈α∞memorandum␈α∞was␈α∂the␈α∞proper ␈↓ π∞␈↓included␈α∞in␈α∞text,␈α∞they␈α∞must␈α∞be␈α∞quoted␈α∂with␈α∞a
␈↓ ↓N␈↓format for message headers to take. ␈↓ π∞␈↓slash␈α⊃(/)␈α⊃character.␈α⊃ Hence␈α⊃slash␈α⊃is␈α∩a␈α⊃special
␈↓ π∞␈↓character as well.
␈↓ ↓N␈↓Second,␈α
too␈α
much␈α
∨exibility␈α
was␈α
allowed␈αin␈α
the
␈↓ ↓N␈↓formats␈αof␈αvarious␈αitems,␈αwith␈αthe␈αunfortunate ␈↓ π∞␈↓Newline␈α∞is␈α∞represented␈α∞by␈α∞an␈α∞012␈α∞byte.␈α∞ This
␈↓ ↓N␈↓result␈α
that␈α∞too␈α
many␈α∞esoteric␈α
varieties␈α∞of␈α
mail ␈↓ π∞␈↓is␈α_distinct␈α→from␈α_the␈α_"line␈α→feed"␈α_character,
␈↓ ↓N␈↓commands␈α-ensued,␈α-and␈α.many␈α-trivial ␈↓ π∞␈↓which does not exist in the mail protocol.
␈↓ ↓N␈↓arguments␈α%over␈α%highly␈α&esoteric␈α%matters
␈↓ ↓N␈↓developed. ␈↓ π∞␈↓The␈α⊂character␈α∂set␈α⊂which␈α∂is␈α⊂legal␈α∂in␈α⊂the␈α∂mail
␈↓ π∞␈↓protocol␈α
consists␈α
of␈α
all␈α
the␈α∞printing␈α
characters
␈↓ ↓N␈↓Dialnet␈αmail␈αavoids␈αthe␈αproblem␈αwith␈αmultiple ␈↓ π∞␈↓in␈α∃the␈α∃1968␈α∃ASCII␈α∃character␈α∃set␈α∀including
␈↓ ↓N␈↓formats␈α⊗of␈α∃message␈α⊗headers␈α⊗by␈α∃eliminating ␈↓ π∞␈↓space␈α∩(in␈α∩other␈α∩words,␈α∩the␈α∪characters␈α∩whose
␈↓ ↓N␈↓αMail protocol␈↓ ε-Syntax␈↓ T21
␈↓ ↓N␈↓ASCII␈α∪value␈α∪is␈α∪between␈α∪040␈α∪and␈α∪176)␈α∪and ␈↓ π∞␈↓2. (FOO BAR) is a list
␈↓ ↓N␈↓newline.␈α In␈α∨particular,␈α rubout␈α and␈α∨the
␈↓ ↓N␈↓"control"␈α⊂characters␈α⊂(some␈α⊂of␈α⊂which␈α⊂are␈α∂used ␈↓ π∞␈↓3. (FOO BAR GARPLY) is a list
␈↓ ↓N␈↓for␈α∂text␈α⊂formatting␈α∂on␈α⊂some␈α∂systems)␈α⊂are␈α∂not
␈↓ ↓N␈↓part␈α∂of␈α∞the␈α∂protocol␈α∞and␈α∂should␈α∞not␈α∂be␈α∞used. ␈↓ π∞␈↓4. (FOO BAR (BAZ GARPLY)) is a list
␈↓ ↓N␈↓There␈α∪is␈α∀no␈α∪guarantee␈α∀that␈α∪the␈α∀server␈α∪will
␈↓ ↓N␈↓interpret␈α∞these␈α
characters␈α∞in␈α
the␈α∞way␈α∞the␈α
user ␈↓ π∞␈↓5.␈α
FOO␈α
is␈αthe␈α
CAR␈α
of␈α
2,␈α 3,␈α
and
␈↓ ↓N␈↓intended. ␈↓ π∞␈↓ 4
␈↓ ↓N␈↓If␈αfor␈αsome␈αreason␈α"control"␈αcharacters␈αMUST ␈↓ π∞␈↓6. (BAR (BAZ GARPLY)) is the CDR of 4
␈↓ ↓N␈↓be␈αsent,␈αit␈αshould␈αbe␈αnoted␈αthat␈αline␈αfeed␈αmust
␈↓ ↓N␈↓be␈α≡quoted␈α≡since␈α≡otherwise␈α≡it␈α∨would␈α≡be ␈↓ π∞␈↓7. BAR is the CAR of 6
␈↓ ↓N␈↓interpreted␈α⊗as␈α↔newline.␈α⊗ Again,␈α↔servers␈α⊗are
␈↓ ↓N␈↓under␈α∃no␈α∀obligation␈α∃to␈α∃implement␈α∀"control" ␈↓ π∞␈↓8. (BAZ GARPLY) is the CDR of 6
␈↓ ↓N␈↓characters.
␈↓ π∞␈↓9. FOO/ BAR is an atom!!
␈↓ ↓N␈↓There␈α⊗are␈α⊗no␈α⊗other␈α⊗special␈α⊗characters.␈α⊗ In
␈↓ ↓N␈↓particular,␈α
whitespace␈α
and␈α
newlines␈α
within␈α
an
␈↓ ↓N␈↓S-expression␈αare␈αtreated␈αas␈αsigni≡cant␈αin␈αmany ␈↓ π∞␈↓α␈↓ λ≠11. Goals and Non-goals
␈↓ ↓N␈↓places.␈α~ In␈α~non-textual␈α~situations,␈α~such␈α~as
␈↓ ↓N␈↓delimiting␈α↔between␈α↔atomic␈α↔values,␈α_a␈α↔single ␈↓ π∞␈↓The following are goals:
␈↓ ↓N␈↓whitespace␈αor␈α
newline␈αis␈αrequired␈α
and␈αfurther
␈↓ ↓N␈↓whitespace/newlines␈α'are␈α'super∨uous␈α'and ␈↓ π∞␈↓1.␈α≥ To␈α≥avoid␈α≤repeating␈α≥the␈α≥mistakes␈α≤of
␈↓ ↓N␈↓should␈α~be␈α~ignored.␈α~ However,␈α≠while␈α~mail ␈↓ π∞␈↓ARPAnet mail.
␈↓ ↓N␈↓servers␈α$should␈α%be␈α$prepared␈α%to␈α$ignore
␈↓ ↓N␈↓super∨uous␈α
whitespace␈α
or␈α
newlines,␈α
it␈αis␈α
strictly ␈↓ π∞␈↓2.␈α→ To␈α→have␈α~a␈α→system␈α→that␈α→is␈α~simple␈α→to
␈↓ ↓N␈↓speaking␈α~a␈α~violation␈α~of␈α~protocol␈α~to␈α→send ␈↓ π∞␈↓implement.
␈↓ ↓N␈↓super∨uous whitespace or newlines.
␈↓ π∞␈↓3.␈α∩ To␈α∩establish␈α⊃strict␈α∩mail␈α∩formats␈α∩with␈α⊃no
␈↓ ↓N␈↓Some␈α∂LISP␈α∂terms␈α∂need␈α∞to␈α∂be␈α∂de≡ned␈α∂for␈α∞the ␈↓ π∞␈↓ambiguity␈α(of␈α(format,␈α(to␈α(prevent␈α'the
␈↓ ↓N␈↓non-LISP␈α~user␈α→to␈α~make␈α→the␈α~rest␈α~of␈α→this ␈↓ π∞␈↓proliferation␈α∀of␈α∀mail␈α∀header␈α∃formats␈α∀which
␈↓ ↓N␈↓document␈α↔clearer.␈α↔ Within␈α↔an␈α⊗S-expression, ␈↓ π∞␈↓has occured in the ARPAnet.
␈↓ ↓N␈↓there␈α
can␈α
be␈αatoms␈α
or␈α
other␈αS-expressions.␈α
An
␈↓ ↓N␈↓atom␈α∂is␈α∂an␈α⊂indivisible␈α∂"word".␈α∂ The␈α⊂other␈α∂S- ␈↓ π∞␈↓4.␈α To␈αallow␈αthe␈αmail␈αsender␈αcomplete␈αfreedom
␈↓ ↓N␈↓expressions␈α⊂are␈α⊂called␈α⊂"lists",␈α⊂as␈α⊂they␈α⊂are␈α⊂not ␈↓ π∞␈↓in␈αwhat␈αis␈αincluded␈αin␈αthe␈α actual␈αbody␈αof␈αthe
␈↓ ↓N␈↓evaluated further. ␈↓ π∞␈↓mail message.
␈↓ ↓N␈↓The␈αCAR␈αof␈α
an␈αS-expression␈αor␈α
list␈αis␈αthe␈α
≡rst ␈↓ π∞␈↓5.␈α⊂ To␈α⊂abolish␈α⊂mail␈α∂headers␈α⊂as␈α⊂they␈α⊂exist␈α∂in
␈↓ ↓N␈↓atom␈αin␈α
the␈αlist.␈α
The␈αCDR␈α
is␈αwhat␈αremains␈α
of ␈↓ π∞␈↓current mail systems entirely.
␈↓ ↓N␈↓the␈α∃S-expresssion␈α∃after␈α∀the␈α∃CAR␈α∃has␈α∀been
␈↓ ↓N␈↓removed.␈α_ These␈α_two␈α_terms␈α_are␈α_sometimes ␈↓ π∞␈↓6.␈α≥ To␈α≡replace␈α≥the␈α≡information␈α≥formerly
␈↓ ↓N␈↓combined;␈αthe␈αsecond␈αelement␈αof␈αthe␈αlist␈αis␈αthe ␈↓ π∞␈↓contained␈α∃in␈α∃the␈α∃mail␈α∃header␈α∃with␈α∃a␈α∀mail
␈↓ ↓N␈↓CAR␈α⊃of␈α⊃the␈α∩CDR␈α⊃or␈α⊃the␈α⊃CADR;␈α∩the␈α⊃third ␈↓ π∞␈↓protocol negotiation.
␈↓ ↓N␈↓element␈α
is␈α
the␈α
CAR␈α
of␈α
the␈α
CDR␈α
of␈α
the␈α
CDR
␈↓ ↓N␈↓or CADDR, etc. ␈↓ π∞␈↓The␈αfollowing␈α
are␈α currently␈α
non-goals.␈α It␈α
is
␈↓ π∞␈↓felt␈α⊗that␈α⊗ there␈α↔ is␈α⊗ no␈α⊗justi≡cation␈α↔at␈α⊗the
␈↓ ↓N␈↓EXAMPLES: ␈↓ π∞␈↓present time to consider these matters.
␈↓ ↓N␈↓1. FOO is an atom ␈↓ π∞␈↓1. Compatability with ARPAnet mail.
␈↓ ↓N␈↓αMail protocol␈↓ ¬TGoals and Non-goals␈↓ R22
␈↓ ↓N␈↓2.␈α∞ Message␈α
security␈α∞or␈α
encryption.␈α∞ This␈α
may ␈↓ π∞␈↓TEXT ¬ a data type (see SUBJECT-TEXT
␈↓ ↓N␈↓happen later. ␈↓ π∞␈↓␈↓ λ∞and MESSAGE-TEXT) which is
␈↓ π∞␈↓␈↓ λ∞completely quoted. TEXT
␈↓ ↓N␈↓3. Explicit forwarding. ␈↓ π∞␈↓␈↓ λ∞outwardly looks like a list in that
␈↓ π∞␈↓␈↓ λ∞there are parentheses at each end,
␈↓ ↓N␈↓4.␈α∂ Detection␈α∞and␈α∂deletion␈α∞of␈α∂duplicate␈α∞copies ␈↓ π∞␈↓␈↓ λ∞and parentheses and slashes must be
␈↓ ↓N␈↓of a message or of mail loops. ␈↓ π∞␈↓␈↓ λ∞quoted with slash; however,
␈↓ π∞␈↓␈↓ λ∞whitespace and new lines are
␈↓ π∞␈↓␈↓ λ∞signi≡cant and are not converted to
␈↓ ↓N␈↓α␈↓ β→12. Mail Fields ␈↓ π∞␈↓␈↓ λ∞something else by the mail process.
␈↓ ↓N␈↓In␈α∞all␈α∞mail␈α∞≡elds,␈α
it␈α∞is␈α∞␈↓↓strongly␈α∞suggested␈↓␈α
that
␈↓ ↓N␈↓either␈α⊃upper␈α⊃or␈α⊃lower␈α⊃case␈α⊃be␈α⊃accepted,␈α⊂and ␈↓ π∞␈↓α␈↓ λ413. Mail Commands
␈↓ ↓N␈↓that␈αlower␈αcase␈αbe␈αconverted␈αto␈αupper␈αcase␈αfor
␈↓ ↓N␈↓machine-␈α⊂reading␈α⊃purposes.␈α⊂ In␈α⊃addition,␈α⊂the ␈↓ π∞␈↓The␈α∂commands␈α⊂on␈α∂these␈α⊂pages␈α∂are␈α⊂the␈α∂more
␈↓ ↓N␈↓o≠cial␈α⊃case␈α⊃for␈α⊃protocol␈α⊃commands␈α⊃is␈α⊂upper ␈↓ π∞␈↓important␈α_commands␈α_of␈α_the␈α→mail␈α_protocol
␈↓ ↓N␈↓case;␈αhowever,␈αa␈αserver␈αmust␈αnot␈αdepend␈αupon ␈↓ π∞␈↓which all servers are expected to implement.
␈↓ ↓N␈↓only␈αreceiving␈α
upper␈αcase.␈α
A␈αserver␈α
that␈αfails
␈↓ ↓N␈↓to␈α∂do␈α∞case-independent␈α∂matching␈α∞is␈α∂bound␈α∞to ␈↓ π∞␈↓For␈αall␈αmail␈αcommands,␈αthe␈αreply␈α(FAILED)␈αis
␈↓ ↓N␈↓encounter␈α∂problems␈α⊂in␈α∂interfacing␈α⊂with␈α∂other ␈↓ π∞␈↓used␈αto␈αindicate␈αa␈αcommand␈αthat␈αfailed␈αdue␈αto
␈↓ ↓N␈↓systems. ␈↓ π∞␈↓some␈α∂internal␈α∂bug␈α∂on␈α∂the␈α∂part␈α∂of␈α⊂the␈α∂server,
␈↓ π∞␈↓for␈α⊂such␈α∂things␈α⊂as␈α∂string␈α⊂space␈α⊂exhausted␈α∂or
␈↓ ↓N␈↓The␈α∪≡elds␈α∪or␈α∪arguments␈α∪to␈α∪a␈α∪mail␈α∩protocol ␈↓ π∞␈↓the␈α⊂like.␈α⊂ This␈α⊂code␈α⊂is␈α⊂NOT␈α⊂intended␈α⊃to␈α⊂be
␈↓ ↓N␈↓command are one of the following: ␈↓ π∞␈↓used to indicate a user error.
␈↓ ↓N␈↓ADDRESS ¬ an atom or list which speci≡es a ␈↓ π∞␈↓I. (TO address)
␈↓ ↓N␈↓␈↓ αNvalid machine-readable mail address
␈↓ ↓N␈↓␈↓ αNon the host in question. ␈↓ π∞␈↓This␈α⊂is␈α⊂the␈α⊂most␈α⊂important␈α⊂command␈α⊂in␈α∂the
␈↓ π∞␈↓mail␈α⊂protocol,␈α∂and␈α⊂the␈α∂only␈α⊂required␈α⊂one.␈α∂ It
␈↓ ↓N␈↓HOST-IDENTIFICATION ¬ either phone- ␈↓ π∞␈↓speci≡es␈α⊃to␈α⊂whom␈α⊃the␈α⊃message␈α⊂is␈α⊃to␈α⊃be␈α⊂sent.
␈↓ ↓N␈↓␈↓ αNnumber or a list whose CAR is ␈↓ π∞␈↓The␈α∂address␈α∂must␈α∂be␈α∂a␈α∂legal␈α∂address␈α∂for␈α∞the
␈↓ ↓N␈↓␈↓ αNphone-number and whose CADR is ␈↓ π∞␈↓server␈α
site;␈α
ie,␈α
it␈α
must␈α
be␈α∞machine-readable␈α
as
␈↓ ↓N␈↓␈↓ αNhost-name. ␈↓ π∞␈↓opposed to a "human" address.
␈↓ ↓N␈↓HOST-NAME ¬ an atom which speci≡es the ␈↓ π∞␈↓ Examples:
␈↓ ↓N␈↓␈↓ αNo≠cial host name as kept on record
␈↓ ↓N␈↓␈↓ αNby the Dialnet implementors. ␈↓ π∞␈↓(TO MRC) (TO Network/ Wizard)
␈↓ ↓N␈↓MESSAGE-TEXT ¬ a text string consisting ␈↓ π∞␈↓ Replies:
␈↓ ↓N␈↓␈↓ αNof the actual text of the message.
␈↓ π∞␈↓(OK) The address has been accepted. More
␈↓ ↓N␈↓PHONE-NUMBER ¬ a dialup phone ␈↓ π∞␈↓␈↓ πndestinations may be speci≡ed for
␈↓ ↓N␈↓␈↓ αNnumber in the form of a string of ␈↓ π∞␈↓␈↓ πnthis message.
␈↓ ↓N␈↓␈↓ αNdigits.
␈↓ π∞␈↓(OK-NO-MORE) The address has been
␈↓ ↓N␈↓SUBJECT-TEXT ¬ an optional text string ␈↓ π∞␈↓␈↓ πnaccepted, but no more destinations
␈↓ ↓N␈↓␈↓ αNused as a one-line "topic" of the ␈↓ π∞␈↓␈↓ πnmay be speci≡ed for this message.
␈↓ ↓N␈↓␈↓ αNmessage.
␈↓ π∞␈↓(UNKNOWN) The address has been rejected;
␈↓ ↓N␈↓αMail protocol␈↓ ¬oMail Commands␈↓ R23
␈↓ ↓N␈↓␈↓ α.there is no known destination at this ␈↓ π∞␈↓(OK) The command was accepted. This is
␈↓ ↓N␈↓␈↓ α.site with that address. ␈↓ π∞␈↓␈↓ πnthe only legal response.
␈↓ ↓N␈↓(ILLEGAL) The address is in illegal format ␈↓ π∞␈↓IV. (MESSAGE message-text)
␈↓ ↓N␈↓␈↓ α.for this site.
␈↓ π∞␈↓This␈α∂command␈α∂speci≡es␈α∂the␈α∂text␈α∂body␈α∂of␈α∂the
␈↓ ↓N␈↓II. (FROM address host-identi≡cation) ␈↓ π∞␈↓message.
␈↓ ↓N␈↓This␈α↔command␈α↔speci≡es␈α↔the␈α↔origin␈α_of␈α↔the ␈↓ π∞␈↓ Example:
␈↓ ↓N␈↓message.␈α The␈αaddress␈αmust␈αbe␈αa␈αlegal␈αaddress
␈↓ ↓N␈↓for␈α⊂the␈α⊂user␈α∂site's␈α⊂mail␈α⊂server;␈α∂ie,␈α⊂it␈α⊂must␈α∂be ␈↓ π∞␈↓(MESSAGE␈α⊃(It␈α⊃has␈α⊃been␈α⊃suggested␈α∩that␈α⊃the
␈↓ ↓N␈↓machine-readable.␈α$ The␈α#address␈α$in␈α#this ␈↓ π∞␈↓MAIL␈α↔protocol␈α↔be␈α↔enhanced␈α↔to␈α↔make␈α⊗the
␈↓ ↓N␈↓command␈αis␈αthe␈αdefault␈αfor␈αthe␈αSENDER␈αand ␈↓ π∞␈↓phase␈α∞of␈α∂the␈α∞moon␈α∂be␈α∞a␈α∂required␈α∞item␈α∂in␈α∞all
␈↓ ↓N␈↓REPLY-TO␈α∃addresses.␈α∀ It␈α∃should␈α∃be␈α∀noted ␈↓ π∞␈↓messages.␈α∃ It␈α∃is␈α∃felt␈α∃that␈α∃this␈α∃item␈α⊗is␈α∃very
␈↓ ↓N␈↓that␈α∩many␈α⊃sites␈α∩may␈α⊃not␈α∩wish␈α∩to␈α⊃implement ␈↓ π∞␈↓important␈α⊃and␈α⊃all␈α⊂user␈α⊃and␈α⊃server␈α⊂programs
␈↓ ↓N␈↓SENDER␈α
and␈αREPLY-TO.␈α
This␈α
means␈αthat ␈↓ π∞␈↓will␈α∩be␈α∪expected␈α∩to␈α∪implement␈α∩this␈α∪by␈α∩next
␈↓ ↓N␈↓FROM␈αis␈αrequired␈αif␈αany␈αorigin␈αis␈αspeci≡ed␈αat ␈↓ π∞␈↓Tuesday. ))
␈↓ ↓N␈↓all,␈α∩and␈α∪that␈α∩it␈α∪should␈α∩specify␈α∪a␈α∩reasonable
␈↓ ↓N␈↓origin and reply address. ␈↓ π∞␈↓ Replies:
␈↓ ↓N␈↓ Examples: ␈↓ π∞␈↓(OK) The command was accepted. This is
␈↓ π∞␈↓␈↓ πnthe only legal response.
␈↓ ↓N␈↓(FROM MRC 415-497-1234)
␈↓ ↓N␈↓(FROM␈α∩DIALNET-HACKER␈α⊃(415-497-4321
␈↓ ↓N␈↓SU-AI))
␈↓ ↓N␈↓ Replies:
␈↓ ↓N␈↓(OK) The command was accepted. This is
␈↓ ↓N␈↓␈↓ α.the only legal response.
␈↓ ↓N␈↓III. (SUBJECT subject-text)
␈↓ ↓N␈↓This␈α
command␈α
speci≡es␈α
a␈α
subject␈α
text␈α
for␈α
the
␈↓ ↓N␈↓message.␈α⊂ It␈α⊂is␈α⊂used␈α∂to␈α⊂provide␈α⊂a␈α⊂short␈α∂topic
␈↓ ↓N␈↓for␈α∀the␈α∃message␈α∀for␈α∃the␈α∀reference␈α∃or␈α∀≡ling
␈↓ ↓N␈↓purposes of the eventual message reader.
␈↓ ↓N␈↓ Examples:
␈↓ ↓N␈↓(SUBJECT (Suggested addition to the MAIL
␈↓ ↓N␈↓␈↓ α.protocol))
␈↓ ↓N␈↓(SUBJECT (In reply to your message about
␈↓ ↓N␈↓␈↓ α.the MAIL protocol))
␈↓ ↓N␈↓ Replies:
␈↓ ↓N␈↓α␈↓ ε↑␈↓ O24
␈↓ ↓N␈↓α␈↓ β,Appendix E ␈↓ π∞␈↓Present scienti≡c work is in the ≡elds of
␈↓ ↓N␈↓α␈↓ β=Personnel ␈↓ π∞␈↓␈↓ πNArti≡cial Intelligence, Computation with
␈↓ π∞␈↓␈↓ πNSymbolic Expressions, Mathematical
␈↓ ↓N␈↓Biography of John McCarthy ␈↓ π∞␈↓␈↓ πNTheory of Computation, Time-Sharing
␈↓ π∞␈↓␈↓ πNcomputer systems.
␈↓ ↓N␈↓BORN: September 4, 1927 in Boston,
␈↓ ↓N␈↓␈↓ α∞Massachusetts ␈↓ π∞␈↓PUBLICATIONS:
␈↓ ↓N␈↓EDUCATION: B.S. (Mathematics) ␈↓ π∞␈↓[1] "Towards a Mathematical Theory of
␈↓ ↓N␈↓␈↓ α∞California Institute of Technology, 1948. ␈↓ π∞␈↓␈↓ πNComputation", in ␈↓↓Proc. IFIP Congress
␈↓ ↓N␈↓␈↓ α∞Ph.D. (Mathematics) Princeton ␈↓ π∞␈↓↓␈↓ πN62␈↓, North-Holland, Amsterdam, 1963.
␈↓ ↓N␈↓␈↓ α∞University, 1951.
␈↓ π∞␈↓[2] "A Basis for a Mathematical Theory of
␈↓ ↓N␈↓HONORS AND SOCIETIES: American ␈↓ π∞␈↓␈↓ πNComputation", in P. Bia≥ort and D.
␈↓ ↓N␈↓␈↓ α∞Mathematical Society, Association for ␈↓ π∞␈↓␈↓ πNHershberg (eds.), ␈↓↓Computer Programming
␈↓ ↓N␈↓␈↓ α∞Computing Machinery, Sigma Xi, Sloan ␈↓ π∞␈↓↓␈↓ πNand Formal Systems␈↓, North-Holland,
␈↓ ↓N␈↓␈↓ α∞Fellow in Physical Science (1957-59), ␈↓ π∞␈↓␈↓ πNAmsterdam, 1963.
␈↓ ↓N␈↓␈↓ α∞ACM National Lecturer (1961), IEEE,
␈↓ ↓N␈↓␈↓ α∞A.M. Turing Award from Association for ␈↓ π∞␈↓[3] (with S. Boilen, E. Fredkin, J.C.R.
␈↓ ↓N␈↓␈↓ α∞Computing Machinery (1971). ␈↓ π∞␈↓␈↓ πNLicklider) "A Time-Sharing Debugging
␈↓ π∞␈↓␈↓ πNSystem for a Small Computer", ␈↓↓Proc.
␈↓ ↓N␈↓PROFESSIONAL EXPERIENCE: Proctor ␈↓ π∞␈↓↓␈↓ πNAFIPS Conf.␈↓ (SJCC), Vol. 23, 1963.
␈↓ ↓N␈↓␈↓ α∞Fellow, Princeton University (1950-51),
␈↓ ↓N␈↓␈↓ α∞Higgins Research Instructor in ␈↓ π∞␈↓[4] (with F. Corbato, M. Daggett) "The
␈↓ ↓N␈↓␈↓ α∞Mathematics, Princeton University (1951- ␈↓ π∞␈↓␈↓ πNLinking Segment Subprogram Language
␈↓ ↓N␈↓␈↓ α∞53), Acting Assistant Professor of ␈↓ π∞␈↓␈↓ πNand Linking Loader Programming
␈↓ ↓N␈↓␈↓ α∞Mathematics, Stanford University (1953- ␈↓ π∞␈↓␈↓ πNLanguages", ␈↓↓Comm. ACM␈↓, July 1963.
␈↓ ↓N␈↓␈↓ α∞55), Assistant Professor of Mathematics,
␈↓ ↓N␈↓␈↓ α∞Dartmouth College (1955-58), Assistant ␈↓ π∞␈↓[5] "Problems in the Theory of
␈↓ ↓N␈↓␈↓ α∞Professor of Communication Science, ␈↓ π∞␈↓␈↓ πNComputation", ␈↓↓Proc. IFIP Congress 1965␈↓.
␈↓ ↓N␈↓␈↓ α∞M.I.T. (1958-61), Associate Professor of
␈↓ ↓N␈↓␈↓ α∞Communication Science, M.I.T. (1961-62), ␈↓ π∞␈↓[6] "Time-Sharing Computer Systems", in W.
␈↓ ↓N␈↓␈↓ α∞Professor of Computer Science Stanford ␈↓ π∞␈↓␈↓ πNOrr (ed.), ␈↓↓Conversational Computers␈↓,
␈↓ ↓N␈↓␈↓ α∞University (1962 - present). ␈↓ π∞␈↓␈↓ πNWiley, 1966.
␈↓ ↓N␈↓PROFESSIONAL RESPONSIBILITIES ␈↓ π∞␈↓[7] "A Formal Description of a Subset of
␈↓ ↓N␈↓␈↓ α∞AND SCIENTIFIC INTERESTS: With ␈↓ π∞␈↓␈↓ πNAlgol", in T. Steele (ed.), ␈↓↓Formal
␈↓ ↓N␈↓␈↓ α∞Marvin Minsky organized and directed ␈↓ π∞␈↓↓␈↓ πNLanguage Description Languages for
␈↓ ↓N␈↓␈↓ α∞the Arti≡cial Intelligence Project at ␈↓ π∞␈↓↓␈↓ πNComputer Programming␈↓, North-Holland,
␈↓ ↓N␈↓␈↓ α∞M.I.T. ␈↓ π∞␈↓␈↓ πNAmsterdam, 1966.
␈↓ ↓N␈↓Organized and directs Stanford Arti≡cial ␈↓ π∞␈↓[8] "Information", ␈↓↓Scienti≡c American␈↓,
␈↓ ↓N␈↓␈↓ α∞Intelligence Project ␈↓ π∞␈↓␈↓ πNSeptember 1966.
␈↓ ↓N␈↓Developed the LISP programming system for ␈↓ π∞␈↓[9] "Computer Control of a Hand and Eye",
␈↓ ↓N␈↓␈↓ α∞computing with symbolic expressions, ␈↓ π∞␈↓␈↓ πNin ␈↓↓Proc. Third All-Union Conference on
␈↓ ↓N␈↓␈↓ α∞participated in the development of the ␈↓ π∞␈↓↓␈↓ πNAutomatic Control (Technical Cybernetics)␈↓,
␈↓ ↓N␈↓␈↓ α∞ALGOL 58 and the ALGOL 60 ␈↓ π∞␈↓␈↓ πNNauka, Moscow, 1967 (Russian).
␈↓ ↓N␈↓␈↓ α∞languages.
␈↓ ↓N␈↓αPersonnel␈↓ ε↑␈↓ Q25
␈↓ ↓N␈↓[10] (with D. Brian, G. Feldman, and J. ␈↓ π∞␈↓[20] McCarthy, John, "An Unreasonable
␈↓ ↓N␈↓␈↓ α∞Allen) "THOR ¬ A Display Based Time- ␈↓ π∞␈↓␈↓ πNBook", a review of ␈↓↓Computer Power and
␈↓ ↓N␈↓␈↓ α∞Sharing System", ␈↓↓Proc. AFIPS Conf.␈↓ ␈↓ π∞␈↓↓␈↓ πNHuman Reason␈↓ by Joseph Weizenbaum
␈↓ ↓N␈↓␈↓ α∞(FJCC), Vol. 30, Thompson, ␈↓ π∞␈↓␈↓ πN(W.H. Freeman and Co., San Francisco,
␈↓ ↓N␈↓␈↓ α∞Washington, D.C., 1967. ␈↓ π∞␈↓␈↓ πN1976), ␈↓↓SIGART Newsletter␈↓ 58, June
␈↓ π∞␈↓␈↓ πN1976.
␈↓ ↓N␈↓[11] (with James Painter) "Correctness of a
␈↓ ↓N␈↓␈↓ α∞Compiler for Arithmetic Expressions", ␈↓ π∞␈↓[21] McCarthy, John, Review: ␈↓↓Computer
␈↓ ↓N␈↓␈↓ α∞Amer. Math. Soc., ␈↓↓Proc. Symposia in ␈↓ π∞␈↓↓␈↓ πNPower and Human Reason␈↓, by Joseph
␈↓ ↓N␈↓↓␈↓ α∞Applied Math., Math. Aspects of ␈↓ π∞␈↓␈↓ πNWeizenbaum (W.H. Freeman and Co.,
␈↓ ↓N␈↓↓␈↓ α∞Computer Science␈↓, New York, 1967. ␈↓ π∞␈↓␈↓ πNSan Francisco, 1976) in ␈↓↓Physics Today␈↓,
␈↓ π∞␈↓␈↓ πN1977.
␈↓ ↓N␈↓[12] "Programs with Common Sense", in
␈↓ ↓N␈↓␈↓ α∞Marvin Minsky (ed.), ␈↓↓Semantic ␈↓ π∞␈↓[22] McCarthy, John, "Another
␈↓ ↓N␈↓↓␈↓ α∞Information Processing␈↓, MIT Press, ␈↓ π∞␈↓␈↓ πNSAMEFRINGE", ␈↓↓SIGART Newsletter␈↓
␈↓ ↓N␈↓␈↓ α∞Cambridge, 1968. ␈↓ π∞␈↓␈↓ πNNo. 61, February 1977.
␈↓ ↓N␈↓[13] (with Lester Earnest, D. Raj. Reddy, ␈↓ π∞␈↓[23] McCarthy, John, "The Home
␈↓ ↓N␈↓␈↓ α∞Pierre Vicens) "A Computer with Hands, ␈↓ π∞␈↓␈↓ πNInformation Terminal", ␈↓↓The Grolier
␈↓ ↓N␈↓␈↓ α∞Eyes, and Ears", ␈↓↓Proc. AFIPS Conf.␈↓ ␈↓ π∞␈↓↓␈↓ πNEncyclopedia␈↓, 1977.
␈↓ ↓N␈↓␈↓ α∞(FJCC), 1968.
␈↓ π∞␈↓[24] McCarthy, John, M. Sato, T. Hayashi, S.
␈↓ ↓N␈↓[14] (with Patrick Hayes) "Some ␈↓ π∞␈↓␈↓ πNIgarashi, "On the Model Theory of
␈↓ ↓N␈↓␈↓ α∞Philosophical Problems from the ␈↓ π∞␈↓␈↓ πNKnowledge", ␈↓↓Proc. Int. Joint Conf. on A.I.␈↓,
␈↓ ↓N␈↓␈↓ α∞Standpoint of Arti≡cial Intelligence", in ␈↓ π∞␈↓␈↓ πNAugust 1977.
␈↓ ↓N␈↓␈↓ α∞Donald Michie (ed.), ␈↓↓Machine Intelligence
␈↓ ↓N␈↓↓␈↓ α∞4␈↓, American Elsevier, New York, 1969. ␈↓ π∞␈↓[25] McCarthy, John, "Epistemological
␈↓ π∞␈↓␈↓ πNProblems of Arti≡cial Intelligence", ␈↓↓Proc.
␈↓ ↓N␈↓[15] "The Home Information Terminal", ␈↓↓Man ␈↓ π∞␈↓↓␈↓ πNInt. Joint Conf. on A.I.␈↓, August 1977.
␈↓ ↓N␈↓↓␈↓ α∞and Computer, Proc. Int. Conf., Bordeaux,
␈↓ ↓N␈↓↓␈↓ α∞1970␈↓, S. Karger, New York, 1972. ␈↓ π∞␈↓[26] McCarthy, John, "History of LISP", ␈↓↓Proc.
␈↓ π∞␈↓↓␈↓ πNACM Conf. on History of Programming
␈↓ ↓N␈↓[16] McCarthy, John, "Mechanical Servants ␈↓ π∞␈↓↓␈↓ πNLanguages,␈↓ 1978.
␈↓ ↓N␈↓␈↓ α∞for Mankind", ␈↓↓Britannica Yearbook of
␈↓ ↓N␈↓↓␈↓ α∞Science and the Future␈↓, 1973. ␈↓ π∞␈↓[27] McCarthy, John, "Representation of
␈↓ π∞␈↓␈↓ πNRecursive Programs in First Order
␈↓ ↓N␈↓[17] McCarthy, John, Book Review: ␈↓ π∞␈↓␈↓ πNLogic", ␈↓↓Proc. Int. Conf. on Mathematical
␈↓ ↓N␈↓␈↓ α∞"Arti≡cial Intelligence: A General Survey" ␈↓ π∞␈↓↓␈↓ πNStudies of Information Processing,␈↓ Kyoto
␈↓ ↓N␈↓␈↓ α∞by Sir James Lighthill, ␈↓↓Arti≡cial ␈↓ π∞␈↓␈↓ πNJapan, 1978.
␈↓ ↓N␈↓↓␈↓ α∞Intelligence␈↓, Vol. 5, No. 3, Fall 1974.
␈↓ π∞␈↓[28] McCarthy, John, "Ascribing Mental
␈↓ ↓N␈↓[18] McCarthy, John, "Modeling Our Minds" ␈↓ π∞␈↓␈↓ πNQualities to Machines", ␈↓↓Philosophical
␈↓ ↓N␈↓␈↓ α∞␈↓↓Science Year 1975␈↓, The World Book ␈↓ π∞␈↓↓␈↓ πNPerspectives in Arti≡cial Intelligence,␈↓
␈↓ ↓N␈↓␈↓ α∞Science Annual, Field Enterprises ␈↓ π∞␈↓␈↓ πNMartin Ringle (ed.), Humanities Press, to
␈↓ ↓N␈↓␈↓ α∞Educational Corporation, Chicago, 1974. ␈↓ π∞␈↓␈↓ πNappear 1978.
␈↓ ↓N␈↓[19] McCarthy, John, "Proposed Criterion for
␈↓ ↓N␈↓␈↓ α∞a Cipher to be Probable-word-proof",
␈↓ ↓N␈↓␈↓ α∞␈↓↓Comm. ACM␈↓, February 1975.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ R26
␈↓ ↓N␈↓α␈↓ β-Appendix F ␈↓ π∞␈↓The␈α⊂computer␈α⊂facilities␈α∂of␈α⊂the␈α⊂Stanford␈α∂Low
␈↓ ↓N␈↓α␈↓ βAFacilities ␈↓ π∞␈↓Overhead␈α∂Timesharing␈α∞System␈α∂consist␈α∂of␈α∞the
␈↓ π∞␈↓following.
␈↓ ↓N␈↓The␈α⊗computer␈α⊗ facilities␈α⊗ of␈α⊗ the␈α⊗ Stanford
␈↓ ↓N␈↓Arti≡cial␈α⊂ Intelligence␈α⊂Laboratory␈α⊂include␈α∂the ␈↓ π∞␈↓Central processor: Digital Equipment
␈↓ ↓N␈↓following␈α⊗equipment,␈α↔most␈α⊗of␈α↔it␈α⊗purchased ␈↓ π∞␈↓␈↓ λ.Corporation DECsystem 2050 (36
␈↓ ↓N␈↓with U.S. Government research funds. ␈↓ π∞␈↓␈↓ λ.bit machine).
␈↓ ↓N␈↓Central processors: Digital Equipment ␈↓ π∞␈↓Primary store: 512k words (36 bit) of 1
␈↓ ↓N␈↓␈↓ αnCorporation KL10 and KA10. ␈↓ π∞␈↓␈↓ λ.microsecond DEC core.
␈↓ ↓N␈↓Primary store: 1,048k words (36 bit) of 1 to␈↓ π∞␈↓File store: 3 DEC RP06 disc drives (capacity:
␈↓ ↓N␈↓␈↓ αn1.6 microsecond core (DEC and ␈↓ π∞␈↓␈↓ λ.4.8 x 10␈↓∧9␈↓ bits).
␈↓ ↓N␈↓␈↓ αnAmpex)
␈↓ π∞␈↓Peripherals: DEC 9-track tape drive, 3
␈↓ ↓N␈↓File store: Ampex disc ≡le (3330-11␈↓ π∞␈↓␈↓ λ.Printronix line printers.
␈↓ ↓N␈↓␈↓ αntype), 7 spindles (capacity: 9.1 x
␈↓ ↓N␈↓␈↓ αn10␈↓∧9␈↓ bits). ␈↓ π∞␈↓Terminals: 60+ Lear-Siegler ADM-3 and
␈↓ π∞␈↓␈↓ λ.Hazeltine 1500 terminals.
␈↓ ↓N␈↓Peripherals: 4 Dectape drives, 2 mag
␈↓ ↓N␈↓␈↓ αntape drives (7 channel), line
␈↓ ↓N␈↓␈↓ αnprinter, Calcomp plotter, Xerox
␈↓ ↓N␈↓␈↓ αnGraphics Printer
␈↓ ↓N␈↓Terminals: 58 Data Disc displays, 6 III
␈↓ ↓N␈↓␈↓ αndisplays, 4 IMLAC displays, 25
␈↓ ↓N␈↓␈↓ αnDatamedia displays, 5 TI
␈↓ ↓N␈↓␈↓ αnterminals
␈↓ ↓N␈↓Realtime processors: DEC PDP-11/45 and
␈↓ ↓N␈↓␈↓ αnSPS-41 with 8k words (16 bit) of
␈↓ ↓N␈↓␈↓ αncore and 197k words of Intel
␈↓ ↓N␈↓␈↓ αnMOS memory.
␈↓ ↓N␈↓Communications processor: BBN TIP
␈↓ ↓N␈↓␈↓ αn(Honeywell DDP-316) connected
␈↓ ↓N␈↓␈↓ αnto the ARPA Network.
␈↓ ↓N␈↓Special equipment: Audio input and output
␈↓ ↓N␈↓␈↓ αnsystems, hand-eye equipment (3
␈↓ ↓N␈↓␈↓ αnTV cameras, 2 arms), remote-
␈↓ ↓N␈↓␈↓ αncontrolled cart.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ P27
␈↓ ↓N␈↓α␈↓ β+Appendix G
␈↓ ↓N␈↓α␈↓ β∂Current Support
␈↓ ↓N␈↓Prof.␈α⊂McCarthy␈α⊂is␈α⊂currently␈α⊂being␈α⊂supported
␈↓ ↓N␈↓by␈α∩the␈α∩Advanced␈α∩Research␈α∪Projects␈α∩Agency
␈↓ ↓N␈↓under␈α.Contract␈α.MDA903-76-C-0206␈α-(1
␈↓ ↓N␈↓January␈α∞1976␈α∞-␈α∞30␈α∞Sept.␈α∞ 1978,␈α
$918,000/year)
␈↓ ↓N␈↓and␈α⊂by␈α⊂the␈α⊂National␈α⊂Science␈α⊂Foundation␈α⊂for
␈↓ ↓N␈↓Basic␈α
Research␈αin␈α
Arti≡cial␈α
Intelligence␈αunder
␈↓ ↓N␈↓Grant␈αMCS␈α
78-00524,␈αJuly␈α
1978␈αthrough␈α
June
␈↓ ↓N␈↓1979␈α∨at␈α∨$105,197.␈α∨ Prof.␈α∨McCarthy␈α≡also
␈↓ ↓N␈↓oversees␈α
but␈α
receives␈α
no␈α
personal␈α
support␈α
from
␈↓ ↓N␈↓the following NSF grants and contracts.
␈↓ ↓N␈↓1. Veri≡cation Oriented Programming under
␈↓ ↓N␈↓␈↓ ↓}Grant Number MCS76-00327, June 1976 -
␈↓ ↓N␈↓␈↓ ↓}June 1980, $93,000/year.
␈↓ ↓N␈↓2. Exploratory Study of Computer Integrated
␈↓ ↓N␈↓␈↓ ↓}Assembly Systems, Contract DAR78-15914,
␈↓ ↓N␈↓␈↓ ↓}August 1978 - July 1980, $300,000/year.
␈↓ ↓N␈↓3. "A Uni≡ed Approach to Automatic
␈↓ ↓N␈↓␈↓ ↓}Programming", Grant MCS-76-83655, July
␈↓ ↓N␈↓␈↓ ↓}1977 - June 1979, $53,350/year.
␈↓ ↓N␈↓4. "Veri≡cation of Operating Systems written
␈↓ ↓N␈↓␈↓ ↓}in Concurrent Pascal", Grant MCS 77-
␈↓ ↓N␈↓␈↓ ↓}01194, August 1977 - July 1979,
␈↓ ↓N␈↓␈↓ ↓}$37,000/year.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ R29
␈↓ ↓N␈↓α␈↓ ε
Appendix H
␈↓ ↓N␈↓α␈↓ ε/Budget
␈↓ ↓N␈↓Two years beginning 1 January 1979.
␈↓ ↓N␈↓β␈↓ α≡ Man 1 Jan.'79 to 1 Jan.'80 to
␈↓ ↓N␈↓β␈↓ α≡ Months 31 Dec.'79 31 Dec.'80
␈↓ ↓N␈↓β␈↓ α≡A. SALARIES AND WAGES
␈↓ ↓N␈↓β␈↓ α≡ 1.Senior Personnel
␈↓ ↓N␈↓β␈↓ α≡ Professor John McCarthy 1 - - - - - -
␈↓ ↓N␈↓β␈↓ α≡ Principal Investigator (5%)
␈↓ ↓N␈↓β␈↓ α≡ Lester Earnest (10%) 2 $4,058 $4,383
␈↓ ↓N␈↓β␈↓ α≡ Res. Scientist & Lecturer
␈↓ ↓N␈↓β␈↓ α≡ 2..Other Personnel
␈↓ ↓N␈↓β␈↓ α≡ a.Programmer
␈↓ ↓N␈↓β␈↓ α≡ Mark Crispin (100%) 14,416 15,572
␈↓ ↓N␈↓β␈↓ α≡ b.Student Research Assistants
␈↓ ↓N␈↓β␈↓ α≡ Acad. yr. 50%, Sum. 100% 7,710 8,322
␈↓ ↓N␈↓β␈↓ α≡ c.Support Personnel
␈↓ ↓N␈↓β␈↓ α≡ Secretary (10%) 1,253 1,353
␈↓ ↓N␈↓β␈↓ α≡ Electronic Technician (15%) 2,404 2,596
␈↓ ↓N␈↓β␈↓ α≡ ______ ______
␈↓ ↓N␈↓β␈↓ α≡ Total Salaries and Wages 29,841 32,226
␈↓ ↓N␈↓β␈↓ α≡B. STAFF BENEFITS 6,155 7,025
␈↓ ↓N␈↓β␈↓ α≡ 20.3% till 8/31/79,
␈↓ ↓N␈↓β␈↓ α≡ 21.6% till 8/31/80,
␈↓ ↓N␈↓β␈↓ α≡ 22.4% thereafter ______ ______
␈↓ ↓N␈↓β␈↓ α≡C. TOTAL SALARIES, WAGES, 35,996 39,251
␈↓ ↓N␈↓β␈↓ α≡ AND STAFF BENEFITS
␈↓ ↓N␈↓β␈↓ α≡D. PERMANENT EQUIPMENT
␈↓ ↓N␈↓β␈↓ α≡ 4 microprocessor-controlled modems 8,000
␈↓ ↓N␈↓β␈↓ α≡E. EXPENDABLE SUPPLIES 1,000 1,000
␈↓ ↓N␈↓β␈↓ α≡ & EQUIPMENT(e.g., copying,
␈↓ ↓N␈↓β␈↓ α≡ office supplies,postage,
␈↓ ↓N␈↓β␈↓ α≡ freight,consulting,honoraria)
␈↓ ↓N␈↓β␈↓ α≡F. TRAVEL 1,200 1,200
␈↓ ↓N␈↓β␈↓ α≡G. PUBLICATION COSTS 500 500
␈↓ ↓N␈↓αBudget␈↓ ε↑␈↓ P30
␈↓ ↓N␈↓β␈↓ α≡H. COMPUTER COSTS - - - - - -
␈↓ ↓N␈↓β␈↓ α≡I. OTHER COSTS
␈↓ ↓N␈↓β␈↓ α≡ Telephone 200 200
␈↓ ↓N␈↓β␈↓ α≡ ______ ______
␈↓ ↓N␈↓β␈↓ α≡J. TOTAL DIRECT COSTS (A through I) 46,896 42,151
␈↓ ↓N␈↓β␈↓ α≡K. INDIRECT COSTS 22,560 24,448
␈↓ ↓N␈↓β␈↓ α≡ 58% of (J less D) ------ ------
␈↓ ↓N␈↓β␈↓ α≡L. TOTAL COSTS (J plus K) $69,456 $66,599
␈↓ ↓N␈↓β␈↓ α≡ ------- -------
␈↓ ↓N␈↓β␈↓ α≡Total Budget (two years) $136,055
␈↓ ↓N␈↓¬The source file of this document is DIAL78.PUB[DIA,JMC]@SU-AI.